Nginx配置SSL
一开始给自己的阿里云服务器配置SSL证书,使用cerbot,发现有urllib3有很多的依赖不兼容处理不了,换成了acme;
如果是使用自己编译安装的Nginx,需要添加如下配置
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx ln -s /usr/local/nginx/conf /etc/nginx
之后执行
acme.sh --issue -d mydomain.com --nginx /usr/local/nginx/conf.d/nginx.conf
https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E
重新执行
acme.sh --issue -d mydomain.com --nginx
上面的生成证书命令执行如果报如下错误:Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: 35,可以使用增加 --use-wget 使用wget代替curl,如果还有错,可以添加--debug查看详情;
acme.sh --installcert -d mydomain.com \ --key-file /usr/local/nginx/conf/ssl/mydomain.com/mydomain.com.key \ --fullchain-file /usr/local/nginx/conf/ssl/mydomain.com/mydomain.com.cer \ --reloadcmd "service nginx force-reload"
server {
listen 80; #如果硬性要求全部走https协议,这一行去除
listen 443 ssl; #如果硬性要求全部走https协议,这里去除ssl
# 域名,多个以空格分开
server_name domain.com www.mydomain.com;
# ssl证书地址
ssl_certificate /etc/nginx/conf/ssl/domain.com.cer; # pem文件的路径
ssl_certificate_key /etc/nginx/conf/ssl/domain.com.key; # key文件的路径
# ssl验证相关配置
ssl_session_timeout 5m; #缓存有效期
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 / {
root html;
index index.html index.htm;
}
}

浙公网安备 33010602011771号