之前是用付费的SSL证书实现https访问,最近证书过期了。谷歌要求.dev
域名必须https,所以网站没法访问了。鼓捣了一下,用自签名SSL证书和Cloudflare实现https,并且一劳永逸。
Cloudflare支持
Cloudflare上面支持四种程度的SSL模式:
Off:关闭 SSL,使用http访问;
Flexible:从Browser到Cloudflare加密(https或者http访问),Cloudflare到server不加密(http访问);
Full:全部加密,需要在服务器上部署证书,但 CloudFlare 不会检查证书的有效性(均为https访问);
Full(Strict):严格模式,也就是全部加密,而且 CloudFlare 会检查服务器上的证书是否有效(均为https访问)。
Full(Strict)模式下不能部署自签名的证书,需要一个有效机构颁发的证书,例如 letsencrypt 的证书,这些证书或者收费或者有效期很短。Full模式下使用自签名证书就不存在这个问题,可以随意签发长期证书。
安装SSL
1 2 |
sudo apt install openssl |
签发自签名证书
接下来,以给linmao.dev签发自签名证书。
- 生成工作目录(用来存放证书和中间文件)
123mkdir cert_foldercd cert_folder - 创建一个私钥
ca.key
,为下一步穿件CA证书做准备
12openssl genrsa -des3 -out ca.key 2048
执行命令后,会让输入pass phrase
,随便输入什么就行,只是一个临时密码,下一步会用到; - 生成CA根证书(公钥)
12openssl req -new -x509 -days 7305 -key ca.key -out ca.crt
-days
后面7305
表示证书有效天数,这里直接设置成20年执行命令后,需要输入上一步设置的临时密码;组织地区信息随便填写,其中
Common Name
填写需要签发的域名,填写根域名linmao.dev,就直接签发根域的CA证书; - 接着生成一个给泛域名的私钥
12openssl genrsa -des3 -out linmao.dev.pem 1024
执行命令与上面创建私钥一样,依旧需要设置临时密码以备下面使用;
- 解密私钥
12openssl rsa -in linmao.dev.pem -out linmao.dev.key
- 生成签名请求
12openssl req -new -key linmao.dev.pem -out linmao.dev.csr
输入命令以后,随便填写组织地区信息,其中
Common Name
填写泛域名(*.linmao.dev),这样生成的证书可以供所有子域使用; - 修改文件准备签名
现在需要修改文件签名,没有这一步会报错,创建一些中间文件就可以执行签名
123456# 在当前目录下新建文件夹demoCA,文件夹名称由/etc/ssl/openssl.cnf中dir = ./demoCA所确定的mkdir -p demoCA/newcertstouch demoCA/index.txttouch demoCA/serialecho "01" > demoCA/serial - 执行签名
12openssl ca -policy policy_anything -days 7305 -cert ca.crt -keyfile ca.key -in linmao.dev.csr -out linmao.dev.crt
最后生成一个
linmao.dev.crt
文件,把ca.crt
中的内容复制粘贴到linmao.dev.crt
文件内容后面,就得到签发后的证书。
最后只需要用到上面生成的linmao.dev.crt
(网站证书)和linmao.dev.key
(网站私钥),将这两个文件上传到服务器使用。
配置nginx
找到网站对应的nginx配置文件,大概在/usr/local/nginx/conf/vhost
目录下,修改对应的网站配置文件:
1 2 3 4 5 6 |
# 在listen 80下面添加对443端口的监听 listen 443; ssl on; ssl_certificate /Path to File/linmao.dev.crt; ssl_certificate_key /Path to File/linmao.dev.key; |
修改完成以后执行下面命令检查nginx配置文件是否有错
1 2 |
nginx -t |
然后重启nginx,完成网站证书绑定。
Reference:
最新评论
感谢博主,让我PyTorch入了门!
博主你好,今晚我们下馆子不?
博主,你的博客用的哪家的服务器。
您好,请问您对QNN-MO-PYNQ这个项目有研究吗?想请问如何去训练自己的数据集从而实现新的目标检测呢?
where is the source code ? bomb1 188 2 8 0 0 hello world 0 0 0 0 0 0 1 1 9?5
在安装qemu的过程中,一定在make install 前加入 sudo赋予权限。
所以作者你是训练的tiny-yolov3还是yolov3...
很有用