Nginx配置https
2020-08-21 本文已影响0人
Summer2077
腾讯云 + 宝塔 + nginx
需要有自己的域名
1. 申请ssl证书(腾讯云为例)
登录腾讯云的控制台
https://console.cloud.tencent.com/ssl
申请免费证书
image.png image.png image.png确认申请
如果是腾讯云的域名就选择自动DNS,不是的话就选择其他的
image.png下载证书
image.png证书下载下来发现有很多的版本,我们这里选择nginx的证书
image.png将证书上传到服务器
一定要上传到nginx的conf目录下面
image.png配置nginx
需要修改参数:
-
根目录就是 /nginx/conf
ssl_certificate cert/2333.crt;#填写你的证书所在的位置
ssl_certificate_key cert/2333.key;#填写你的key所在的位置 -
server_name www.2333.cn; #填写绑定证书的域名
server {
listen 443 ssl;#监听443端口(https默认端口)
server_name www.2333.cn; #填写绑定证书的域名
ssl_certificate cert/1212.crt;#填写你的证书所在的位置
ssl_certificate_key cert/2121.key;#填写你的key所在的位置
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
ssl_prefer_server_ciphers on;
#详细介绍location 端口转发
location / {
#是监听的端口默认访问的地址,这里如果没有做tomcat的转发则会进入nginx的html目录下的index.html
root html;
#这里是编写监听到的请求所转发的端口号,即tomcat端口
proxy_pass http://localhost:8888;
#Proxy Settings;
#proxy_redirect off;
#proxy_set_header Host $host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#设置nginx 的默认显示页
index index.html index.htm;
#设置http请求的请求头,使其在跨域访问上不会被浏览器阻止。ps:这里设置我发现没有用,后来还是在ajax过滤器中添加的 请求头,如果大家有知道这里怎么修改的,请留言大家一起学习。
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
}
location = /50x.html {
root html;
}
}
将http 转发到https
server {
listen 80;
server_name www.2333.cn;#填写绑定证书的域名
rewrite ^ https://$http_host$request_uri? permanent; # 将http转到https
}