阿里云Nginx配置ssl证书-http转https
1.申请和下载证书
1.2 完成付款后 前往 ssl证书控制台
1.3 申请证书
然后等待证书完成验证, 验证通过才能进行下一步
1.4 下载证书
将下载好的压缩包解压上传到服务器(放哪随便记得文件路径就行)
2.nginx配置
vim /usr/local/nginx/conf/nginx.conf 编辑服务器的nginx配置文件
server {
listen 80;
server_name www.lwguang.com;# 改成你的域名
# 将 http 重定向 https
return 301 https://$server_name$request_uri;
}
server {
listen 443;
server_name www.lwguang.com;# 改成你的域名
ssl on;
ssl_certificate cert/lwguang.com.pem; #将cert/lwguang.com.pem替换成您存放证书文件路径。
ssl_certificate_key cert/lwguang.com.key; #将cert/lwguang.com.key替换成您证书存放的文件路径。
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 / {
proxy_pass http://127.0.0.1:8090; #改成你的端口
# https兼容http
add_header Content-Security-Policy upgrade-insecure-requests;
}
}
cd /usr/local/nginx/sbin 进入nginx目录
nginx -s reload 重新加载配置文件
nginx -s stop 关闭nginx
./nginx 启动nginx
3.nginx 在 reload stop 时可能出现的问题
报错 使用 reload stop 等命令出现如下问题(没出问题就不用看了):
[root@izuf63a4b77 sbin]# ./nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
# 解决方案
# 使用指定nginx.conf文件的方式重启nginx
# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# /usr/local/nginx/sbin/nginx 换成你的nginx安装路径
# /usr/local/nginx/conf/nginx.conf 换成你的nginx.conf文件路径
[root@izuf63a4b77uqj7ql9nlxwz sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@izuf63a4b77 sbin]# ./nginx -s reload
[root@izuf63a4b77 sbin]# ./nginx -s stop
[root@izuf63a4b77 sbin]# ./nginx
Q.E.D.