# 如何让所有网站开启https
# 思路
利用nginx代理,让https网站代理到http
# 实际需求
小程序端口api要求是https和443端口,以及需要合法域名(ICP备案)。 后端用的Java,应用服务器是tomcat。所以需要用nginx来代理。
# nginx开启https
1.申请一个认证的域名和HTTPS的证书,域名需要与证书一致
2.腾讯云ssl申请
3.ningx配置
# HTTPS server
server {
listen 443 ssl; #监听443端口
server_name xinyu666.cn; #配置基于名称的虚拟主机
ssl_certificate "C:\xinyu666.cn\Nginx\1_xinyu666.cn_bundle.crt"; #ssl证书公钥文件路径
ssl_certificate_key "C:\xinyu666.cn\Nginx\2_xinyu666.cn.key"; #ssl证书私密文件路径
ssl_session_cache shared:SSL:1m; #重用Session提高https的性能
ssl_session_timeout 5m; #5分钟session会话保持
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /api { #重定向
proxy_set_header Host $host; #把原http请求的Header中的Host字段放到转发请求里
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #把原http请求的Header中的X-Forwarded-For字段放到转发请求里
proxy_pass http://127.0.0.1:8086/api;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 遇到问题404
查看error.log信息,发现转发不成功。 kill之后reload kill nginx nginx -s reload
# 资料
ssl证书 (opens new window) nginx配置https服务器 (opens new window) nginx常用命令 (opens new window)
全量分析 阅读量: