【运维知识进阶篇】集群架构-HTTPS证书详解(下)

简介: 【运维知识进阶篇】集群架构-HTTPS证书详解(下)

Nginx集群实现证书

1、准备LB01(10.0.0.5、172.16.1.5)做负载均衡,Web02(10.0.0.8、172.16.1.8)、Web03(10.0.0.9、172.16.1.9)两台服务器

2、配置Web02、Web03服务器监听80端口

1. [root@Web02 ~]# cat /etc/nginx/conf.d/ssl.conf
2. server {
3.         listen 80;
4.         server_name ssl.koten.com;
5. 
6.         location / {
7.                 root /code/ssl;
8.                 index index.html;
9.         }
10. }
11. [root@Web02 ~]# systemctl restart nginx
12. 
13. [root@Web03 ~]# cat /etc/nginx/conf.d/ssl.conf
14. server {
15.         listen 80;
16.         server_name ssl.koten.com;
17. 
18.         location / {
19.                 root /code/ssl;
20.                 index index.html;
21.         }
22. }
23. [root@Web03 ~]# systemctl restart nginx

3、拷贝证书到LB服务器

1. [root@LB01 ~]# scp -rp 172.16.1.7:/etc/nginx/ssl_key /etc/nginx/
2. The authenticity of host '172.16.1.7 (172.16.1.7)' can't be established.
3. ECDSA key fingerprint is SHA256:zQvI/tCFYssR7l6cr90EtaIA93FXJp8FmUhGtkZshlA.
4. ECDSA key fingerprint is MD5:0b:a1:ee:d2:75:92:1a:62:05:63:5e:d1:e8:42:13:84.
5. Are you sure you want to continue connecting (yes/no)? yes
6. Warning: Permanently added '172.16.1.7' (ECDSA) to the list of known hosts.
7. root@172.16.1.7's password: 
8. server.key       100% 1704   906.5KB/s   00:00    
9. server.crt       100% 1411     1.0MB/s   00:00

4、配置LB01的Nginx配置文件

1. [root@LB01 ~]# cat /etc/nginx/conf.d/proxy_ssl.conf 
2. upstream website {
3.         server 172.16.1.8:80;
4.         server 172.16.1.9:80;
5. }
6. 
7. server {
8.         listen 443 ssl;
9.         server_name ssl.koten.com;
10.         ssl_certificate   ssl_key/server.crt;
11.         ssl_certificate_key  ssl_key/server.key;
12.         location / {
13.             proxy_pass http://website;
14.             proxy_set_header Host $http_host;
15.         }
16. }
17. 
18. server {
19.         listen 80;
20.         server_name ssl.koten.com;
21. return 302 https://$server_name$request_uri;
22. }
23. [root@LB01 ~]# systemctl restart nginx

5、浏览器访问

 

真实业务实现HTTPS证书

1、配置LB01中的wordpress和wecenter的配置

1. [root@LB01 ~]# cat /etc/nginx/conf.d/proxy_ssl.conf 
2. upstream webs {
3.         server 172.16.1.7:80;
4.         server 172.16.1.8:80;
5. }
6. 
7. #用户的http请求跳转至https
8. server {
9.         listen 80;
10.         server_name blog.koten.com;
11. return 302 https://$server_name$request_uri;
12. }
13. 
14. server {
15.         listen 80;
16.         server_name wecenter.koten.com;
17. return 302 https://$server_name$request_uri;
18. }   
19. 
20. server {
21.         listen 443 ssl;
22.         server_name blog.koten.com;
23.         ssl_certificate   ssl_key/server.crt;
24.         ssl_certificate_key  ssl_key/server.key;
25.         location / {
26.                 proxy_pass http://webs;
27.                 include proxy_params;
28.         }
29. }
30. 
31. server {
32.         listen 443 ssl;
33.         server_name wecenter.koten.com;
34.         ssl_certificate   ssl_key/server.crt;
35.         ssl_certificate_key  ssl_key/server.key;
36.         location / {
37.                 proxy_pass http://webs;
38.                 include proxy_params;
39.         }       
40. }
41. [root@LB01 ~]# nginx -t
42. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
43. nginx: configuration file /etc/nginx/nginx.conf test is successful
44. [root@LB01 ~]# nginx -s reload

2、浏览器访问

发现均出现排版错误的情况,这是因为PHP对https不适配。

3、修正排版问题

需要在Web01和Web02的Wecenter和WordPress配置文件里添加如下配置,并重启Nginx

1. #告诉PHP我前置的负载使用的是https协议                
2. fastcgi_param HTTPS on;

例如Web01的WordPress配置文件

1. [root@Web01 wecenter]# cat /etc/nginx/conf.d/wordpress.conf 
2. server {
3.  listen 80;
4.  server_name blog.koten.com;
5.  root /code/wordpress;
6.  index index.php index.html index.htm;
7. 
8.  location ~\.php$ {
9.    root /code/wordpress;
10.     fastcgi_pass 127.0.0.1:9000;
11.     fastcgi_index index.php;
12.     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
13.         fastcgi_param HTTPS on;
14.     include fastcgi_params;
15.   }
16. }
17. [root@Web01 wecenter]#

4、再次访问发现恢复

5、phpmyadmin配置文件与问题

1. [root@LB01 ~]# cat /etc/nginx/conf.d/proxy_php.conf 
2. upstream web {
3.         server 172.16.1.7:80;
4.         server 172.16.1.8:80;
5. }
6. 
7. server {
8.         listen 80;
9.         server_name php.koten.com;
10. return 302 https://$server_name$request_uri;
11. }
12. 
13. server {
14.         listen 443 ssl;
15.         ssl_certificate   ssl_key/server.crt;
16.         ssl_certificate_key  ssl_key/server.key;
17.         server_name php.koten.com;
18.         location / {
19.             proxy_pass http://web;
20.             include proxy_params;
21.         }
22. }
23. [root@LB01 ~]# systemctl restart nginx

6、解决phpmyadmin问题

在Web01和Web02的phpmyadmin配置文件上增加如下配置:

fastcgi_param HTTPS on;

恢复正常!

目录
相关文章
|
18天前
|
安全 网络安全 数据安全/隐私保护
政务单位IP地址https证书
政务单位IP地址HTTPS证书是一种专为只有IP地址而无域名的政务网站设计的数字证书,用于加密通信、确保数据安全并提升用户信任度。申请流程包括选择证书颁发机构、提交申请并验证、部署证书等步骤。证书有效期通常为一年或多年,需定期更新以确保安全性。
|
1月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
87 4
|
1月前
|
安全 算法 量子技术
【HTTPS】中间人攻击和证书的验证
【HTTPS】中间人攻击和证书的验证
51 1
|
1月前
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
270 2
|
1月前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
40 0
|
2月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
77 3
Hadoop集群配置https实战案例
|
2月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
172 2
Docker配置https证书案例
|
1月前
|
安全 网络安全 数据安全/隐私保护
HTTPS 请求中的证书验证详解(Python版)
HTTPS 请求中的证书验证详解(Python版)
105 0
|
3月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
96 2
|
3月前
|
安全 网络安全 Windows
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法
【Azure App Service】遇见az命令访问HTTPS App Service 时遇见SSL证书问题,暂时跳过证书检查的办法