# HTTPS 配置
环境说明:
- 开发环境
- 使用 Windows10 子系统 Ubuntu
- 在 子系统 中 安装
openresty和tomcat8801、tomcat8802、tomcat8803。 - 客户端
app1部署在tomcat8801,访问地址:https://app1.leichu.top/app1/index。 - 客户端
app1部署在tomcat8802,访问地址:https://app2.leichu.top/app2/index。 - 认证服务器
cas部署在tomcat8803,访问地址:https://sso.leichu.top/cas/login。

由于是本地环境,使用 JDK 和 openssl 生成的证书一直不被浏览器信任,所以直接采用阿里云证书。
# 阿里云申请证书
打开阿里云SSL控制台,使用免费证书。最多可以使用20个,这次测试足够了。
- 创建证书
- 填写申请信息
分别申请 sso.leichu.top、app1.leichu.top、app2.leichu.top 这三个域名的证书。由于此处是想尽量模拟生产环境,所以下载 Nginx 证书。
并把证书解压放到 D:\linux\openresty\conf\ssl 目录。

# 修改 Nginx 配置
upstream app1Upstream {
server 127.0.0.1:8801 weight=100 max_fails=3 fail_timeout=10s;
}
upstream app2Upstream {
server 127.0.0.1:8802 weight=100 max_fails=3 fail_timeout=10s;
}
upstream ssoUpstream {
server 127.0.0.1:8803 weight=100 max_fails=3 fail_timeout=10s;
}
server {
listen 443 ssl;
server_name sso.leichu.top;
ssl_certificate /mnt/d/linux/openresty/conf/ssl/6231068_sso.leichu.top_nginx/6231068_sso.leichu.top.pem;
ssl_certificate_key /mnt/d/linux/openresty/conf/ssl/6231068_sso.leichu.top_nginx/6231068_sso.leichu.top.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
location /cas {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://ssoUpstream/cas;
}
}
server {
listen 443 ssl;
server_name app1.leichu.top;
ssl_certificate /mnt/d/linux/openresty/conf/ssl/6231069_app1.leichu.top_nginx/6231069_app1.leichu.top.pem;
ssl_certificate_key /mnt/d/linux/openresty/conf/ssl/6231069_app1.leichu.top_nginx/6231069_app1.leichu.top.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
location /app1 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://app1Upstream/app1;
}
}
server {
listen 443 ssl;
server_name app2.leichu.top;
ssl_certificate /mnt/d/linux/openresty/conf/ssl/6231071_app2.leichu.top_nginx/6231071_app2.leichu.top.pem;
ssl_certificate_key /mnt/d/linux/openresty/conf/ssl/6231071_app2.leichu.top_nginx/6231071_app2.leichu.top.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
location /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://app2Upstream/app2;
}
}
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 修改 hosts 文件
127.0.0.1 sso.leichu.top
127.0.0.1 app1.leichu.top
127.0.0.1 app2.leichu.top
1
2
3
2
3
至此,HTTPS 环境已搭建完成。
← SSO & CAS CAS Server →