【运维知识进阶篇】集群架构-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;

恢复正常!

目录
打赏
0
0
0
0
39
分享
相关文章
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 + 无锁架构 + EDA架构 + 异步日志 + 集群架构
阿里面试:Redis 为啥那么快?怎么实现的100W并发?说出了6大架构,面试官跪地: 纯内存 + 尖端结构 +  无锁架构 +  EDA架构  + 异步日志 + 集群架构
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
84 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作
Spug证书平台的最大亮点之一就是其极为简化的证书申请流程,无论是新手还是经验丰富的运维专家,都可以在几分钟内轻松完成证书的申请,通过微信扫码直接登录申请,无需复杂注册,整个过程既方便又快捷。
99 17
HTTPS证书类型和品牌一览
HTTPS证书(SSL证书)是保障网站数据传输安全与身份可信认证的重要工具,适用于电商、企业官网等各类平台。证书主要分为DV(域名验证)、OV(企业验证)、EV(扩展验证)三种安全级别,以及单域名、通配符、多域名等不同覆盖类型。品牌方面,既有高性价比的国产锐安信、CFCA,也有国际知名的Sectigo、Digicert。
【赵渝强老师】达梦数据库MPP集群的架构
达梦数据库提供大规模并行处理(MPP)架构,以低成本实现高性能并行计算,满足海量数据存储和复杂查询需求。DM MPP采用完全对等无共享体系,消除主节点瓶颈,通过多节点并行执行提升性能。其执行流程包括主EP生成计划、分发任务、各EP并行处理及结果汇总返回。为确保高可用性,建议结合数据守护部署。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
本指南介绍如何部署Linux服务器节点。首先复制生成的Linux脚本命令,然后将其粘贴到目标服务器上运行。接着刷新页面查看节点记录,并点击“配置证书”选择证书以自动部署。最后,节点部署完成,后续将自动调度,无需人工干预。
HTTPS 证书自动化运维:https证书管理系统-自动化部署
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
305 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等