阿里云Nginx配置ssl证书-http转https

1.申请和下载证书

aly-nginx-ssl-1

aly-nginx-ssl-2

1.2 完成付款后 前往 ssl证书控制台

aly-nginx-ssl-3

1.3 申请证书

aly-nginx-ssl-4

aly-nginx-ssl-5

aly-nginx-ssl-6

然后等待证书完成验证, 验证通过才能进行下一步

1.4 下载证书

aly-nginx-ssl-7

将下载好的压缩包解压上传到服务器(放哪随便记得文件路径就行)

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.