nginx配置SSL,开启HTTPS
2019-04-29 本文已影响0人
晓函
首先购买SSL证书https://freessl.cn
我选的是免费一年的TrustAsia
购买完成后,配置证书
填上域名、国家、公司等信息,通过CNAME填写TXT方式验证域名所有权,
自动生成私钥和公钥。
下载文件,找到nginx文件夹,里面有两个文件.key和.pem
image.png
上传到服务器,比如/etc/ssl目录或者网站的www目录,位置随意,nginx配置中写正确位置就行,
然后配置NGINX就行了。
下面我用做NGINX反代https
cd /etc/nginx/sites-available/
vi mysite-ssl
写入:
server {
#====配置SSL代码 start====
listen 443 ssl;
root /var/www/robotsearch;
index index.html index.htm
server_name s.ggmiao.com;
ssl on;
#ssl证书文件位置(常见证书文件格式为:crt/pem)
ssl_certificate /var/www/robotsearch/ssl/s.ggmiao.com.pem;
#ssl证书key位置
ssl_certificate_key /var/www/robotsearch/ssl/s.ggmiao.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#数字签名,此处使用MD5
ssl_ciphers HIGH:!aNULL:!MD5;
#====配置SSL代码 end====
#反代代码
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HostX $http_host;#真实服务器优先识别这个参数作为host判断
proxy_set_header CustomValue "thisistest";
proxy_set_header Host "www.haohuodog.com";#伪造host头为一个已备案域名,防止因为未备案被腾讯云拦截
proxy_redirect off;
if (!-f $request_filename) {
proxy_pass http://191.122.105.35:80;
break;
}
}
}
保存后
cd /etc/nginx/sites-enabled
#添加引用链接
ln -s /etc/nginx/sites-available/mysite-ssl ./mysite-ssl
#查看引用是否成功
ls -l
#测试
nginx -t
#重启
service nginx restart