前端配置
- 找到云厂商的ssl证书管理版面

- 下载云厂商申请的免费证书:

- 把在云厂商申请到的ssl证书指定格式通过scp传送到自己的云服务器:
1 2 3
| scp -r *.pem *.key ubuntu@公网ip:/etc/nginx/ssl
scp *.pem *.key ubuntu@134.175.7.57:/etc/nginx/ssl
|
如下图所示位置,没有文件夹可以自己创建一个新的

如果ssh文件夹访问受限,也可以先上传到根目录,在用sudo权限移动到ssl文件夹下
1 2 3 4 5
| scp *.pem *.key ubuntu@134.175.7.57:~
cd ~
sudo mv *.pem *.key /etc/nginx/ssl
|


- 然后在需要的添加ssl层的应用的
.conf文件中增加ssl配置,以我的考试服务系统为例,我为我的考试服务系统增加了exam-system.wlwhonest.top的域名解析,同时通过配置server对ssl证书的验证如下:

1 2 3 4 5 6 7 8 9 10 11
| server { listen 443 ssl; server_name exam-system.wlwhonest.top; ssl_certificate /etc/nginx/certs/your-cert.crt; ssl_certificate_key /etc/nginx/certs/your-cert.key; root /var/www/exam-system/dist; index index.html; location / { try_files $uri /index.html; } }
|
1 2
| ssl_certificate /etc/nginx/ssh/exam-system.wlwhonest.top_bundle.pem; ssl_certificate_key /etc/nginx/ssh/exam-system.wlwhonest.top.key;
|
- 最后验证一下nginx配置,然后重载:
1 2
| sudo nginx -t sudo systemctl reload nginx
|
后端配置
如果你有同一域名下的后端服务,也需要进行修改配置,原来如下图:

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
| server { listen 80; server_name exam-system.wlwhonest.top;
root /var/www/exam-system/dist; index index.html;
location / { try_files $uri /index.html; }
location /api/user-service/ { proxy_pass http://127.0.0.1:3001/; } location /api/exam-service/ { proxy_pass http://127.0.0.1:3002/; } location /api/answer-service/ { proxy_pass http://127.0.0.1:3003/; } location /api/analyse-service/ { proxy_pass http://127.0.0.1:3004/; } }
server { listen 443 ssl; server_name exam-system.wlwhonest.top; ssl_certificate /etc/nginx/ssl/exam-system.wlwhonest.top_bundle.pem; ssl_certificate_key /etc/nginx/ssl/exam-system.wlwhonest.top.key; root /var/www/exam-system/dist; index index.html; location / { try_files $uri /index.html; } }
|
改之后,全面跳转到https
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
| server { listen 80; server_name exam-system.wlwhonest.top; return 301 https://$host$request_uri; }
server { listen 443 ssl http2; server_name exam-system.wlwhonest.top;
ssl_certificate /etc/nginx/ssl/exam-system.wlwhonest.top_bundle.pem; ssl_certificate_key /etc/nginx/ssl/exam-system.wlwhonest.top.key;
root /var/www/exam-system/dist; index index.html;
location / { try_files $uri /index.html; }
location /api/user-service/ { proxy_pass http://127.0.0.1:3001/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location /api/exam-service/ { proxy_pass http://127.0.0.1:3002/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location /api/answer-service/ { proxy_pass http://127.0.0.1:3003/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }
location /api/analyse-service/ { proxy_pass http://127.0.0.1:3004/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
|
最后也不要忘记检测和重载