Hello World

吞风吻雨葬落日 欺山赶海踏雪径

0%

nginx 配置Https

日常测试环境https突然挂了,排查了发现部分docker镜像没有带测试的https证书且nginx没有开启https支持。所以在应用中统一配置。

基础镜像各种版本,日常机器各类镜像配置都不一样,太难了。

nginx-proxy.conf 配置中原本只支持http

1
2
3
4
5
6
7
8
server {
listen 80 default_server;
server_name www.xxx.com;
client_max_body_size 100M;
location / {
proxy_pass http://127.0.0.1:7001;
}
}

在此配置上面增加

1
include ssl/ssl.conf;

nginx的配置目录conf中新增ssl目录,把证书daily.crtdaily.key 文件放进去,同时建立ssl.conf配置文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
server {
listen 443;
server_name _;
client_max_body_size 100M;

ssl on;
ssl_certificate /home/admin/cai/conf/ssl/daily.crt;
ssl_certificate_key /home/admin/cai/conf/ssl/daily.key;
ssl_session_timeout 5m;
ssl_session_cache shared:NXSSL:256M;
ssl_ciphers RC4-SHA:AES128-SHA:AES256-SHA:DES-CBC3-SHA;
ssl_prefer_server_ciphers on;

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Web-Server-Type nginx;
proxy_set_header WL-Proxy-Client-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header EagleEye-TraceId $eagleeye_traceid;
add_header EagleEye-TraceId-daily $eagleeye_traceid;
proxy_set_header X-Client-Scheme $scheme;

trans off;

location / {
proxy_pass http://127.0.0.1:80;
}
}

因为证书已经无效了,需要手动先允许一下才能使用。