关于如何配置ssl证书和自动装配,并且部署到nginx的服务器上。
- 首先在freessl.cn部署一个ssl证书,可以是泛域名的。他只有一个月。搭配上acme就可以永久部署了。
- 具体步骤如下
先获得ssl泛域名证书。
- 然后安装acme完成自动化部署。
安装使用下面这个命令:
1
| curl https://get.acme.sh | sh -s email=my@example.com
|
可以根据上面这个模板进行修改。最后就算部署完成,可以正常浏览你的网站了.安装完成后,就根据freessl给你的命令,直接复制到你的服务器执行,然后就在服务器上安装好自动更新的证书了。但是此时的证书任然没有部署到域名上,仍然需要操作
部署好后,请记住你的证书安装的地址,这个之后部署到nginx上需要使用。
nginx部署ssl证书
最好的做法不是直接修改nginx.conf
文件,而是在conf.d
文件夹下添加与你相关的服务的信息。
如果没有conf.d文件夹可以自己创建。然后再nginx.conf里引用你创建的文件即可。
下面是一个示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| server { listen 80; server_name memos.zfxt.top; add_header Strict-Transport-Security max-age=15768000; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name memos.zfxt.top; ssl on; ssl_certificate /root/.acme.sh/*.zfxt.top_ecc/fullchain.cer; ssl_certificate_key /root/.acme.sh/*.zfxt.top_ecc/*.zfxt.top.key; ssl_session_timeout 3600m;#session有效期,根据需要适当延长 ssl_session_cache shared:SSL:10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:5230/; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; } }
|