Nginx配置HTTPS并将HTTP请求重定向到HTTPS
个人博客 地址:https://www.wenhaofan.com/a/20190702214652
在阿里云获取免费的HTTPS证书
配置HTTPS之前首先需要拥有HTTPS证书,在阿里云可以获得域名免费的一年HTTPS证书
访问 https://common-buy.aliyun.com/?commodityCode=cas#/buy 选择免费型DV SSL购买即可
如果你的域名是其他服务商提供的也可以在百度搜索:你的域名服务商+免费HTTPS证书,即可找到对应教程
对外开放443端口
使用HTTPS需要服务端开放443端口,请检查服务器的安全组是否开放443端口,以及检查服务器系统防火墙是否开放443端口,如果未开放的话HTTPS链接将不能正常访问。
配置HTTPS访问
server { ssl on; listen 443; server_name www.wenhaofan.com; client_max_body_size 1g; ssl_certificate /www/ssh.pem ssl_certificate_key /www/ssh.key; location / { proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:8080; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
将上述配置文件中的server_name修改为你的HTTPS证书对应的域名,如果这里的server_name和你的HTTPS证书颁发的域名不一致是不能正常访问的。
将ssl_sertificate修改为下载的SSL证书中以.pem结尾的文件存放路径
将ssl_sertificate_key修改为下载的SSL证书中以.key结尾的文件存放路径
将proxy_pass修改为你需要代理的后台服务访问url
配置HTTP请求转发至HTTPS
server { listen 80; server_name www.wenhaofan.com; rewrite ^(.*)$ https://$host$1 permanent; }
将server_name修改为需要转发至HTTPS的域名 例如:现在访问 http://test.wenhaofan.com/ 转发至https://test.wenhaofan.com,就将server_name修改为test.wenhaofan.com 即可