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

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

94 篇文章0 订阅

订阅专栏

HTTPS证书在企业中非常重要,因为HTTP不安全,采用HTTP协议容易受到劫持和篡改,如果是采用HTTPS,数据在传输过程中加密,可以避免报文信息被窃取篡改,避免网站传输时信息泄露。实现https,要了解SSL协议,现在我们使用的大多是TLS加密协议了,HTTPS运行在应用层,TLS应用在表示层,是SSL协议发挥作用的一层,使应用层的HTTP协议在没有感知的情况下实现了数据的加密传输。

HTTP加密传输流程

浏览器发起请求,服务端接收请求,返回给浏览器证书、证书中包含公钥,浏览器判断证书是否合法,如果不合法进行警告提示。如果合法,生成随机数,通过公钥加密随机数,把加密后的随机数传输给服务端,服务端通过私钥解密获得随机数,通过传入随机数的对称加密,对数据进行加密,将加密后的内容传输给浏览器,浏览器根据本地存储的随机数进行解密。

模拟网站被篡改

1、配置Nginx文件

1. [root@Web01 test]# cat /etc/nginx/conf.d/test.conf server {
2.  listen 80;
3.  server_name test.koten.com;
4.  root /code/test;
5.  index index.html;
6.  charset utf-8;
7. }

2、配置Nginx页面

1. [root@Web01 test]# cat /code/test/index.html 
2. <!DOCTYPE html>
3. <html lang="en">
4. <head>
5. <meta charset="UTF-8">
6. <title>我是title</title>
7. </head>
8. <body>
9. <article>
10. <header>
11. <h1>你好</h1>
12. </header>
13. <p>
14. <b>你</b>最近过的好嘛?
15. </p>
16. <footer>
17. <p><small>版权所有@koten</small></p>
18. </footer>
19. </article>
20. </body>
21. </html>
22. [root@Web01 test]#

3、查看Nginx页面

4、配置Nginx拦截服务器

1. [root@Web02 ~]# vim /etc/nginx/conf.d/jiechi_test.conf
2. upstream jiechi {
3.         server 10.0.0.7:80;
4. }
5. 
6. server {
7.         listen 80;
8.         server_name test.koten.com;
9. 
10. location / {
11.                 proxy_pass http://jiechi;
12.                 proxy_set_header Host $http_host;
13.                 sub_filter '<h1>你好' '<h1>我好';
14.                 sub_filter '<small>版权所有' ' <sma
15. ll>开源';
16.         }
17. }
18. <t.conf" [New] 15L, 360C written 
19. [root@Web02 ~]# systemctl restart nginx

5、查看篡改后的内容

6、添加篡改广告

1. [root@web02 conf.d]# vim jiechi_test.conf
2. upstream jiechi {
3.         server 10.0.0.7:80;
4. }
5. 
6. server {
7.         listen 80;
8.         server_name test.koten.com;
9. 
10. location / {
11.                 proxy_pass http://jiechi;
12.                 proxy_set_header Host $http_host;
13.                 sub_filter '<h1>你好' '<h1>花生瓜子烤鱼片';
14.                 sub_filter '<small>版权所有' ' <small><img src="https://p6.itc.cn/q_70/images03/20201226/f979021adb324417bb6dd3889698ee0b.jpeg">';
15.         }
16. }
17. <hi_test.conf" 15L, 459C written 
18. [root@Web02 ~]# systemctl restart nginx

7、查看篡改界面

证书类型介绍

  域名型DV 企业型OV 增强型EV
绿色地址栏 小锁标记+HTTPS 小锁标记+HTTPS 小锁标记+企业名称+HTTPS
一般用途 个人站点,简单的HTTPS加密需求 电子商务站点和应用,中小型企业站点 大型金融平台,大型企业和政府机构站点
审核内容 域名所有权验证 全面的企业身份验证,域名所有权验证 最高等级的企业身份验证,域名所有权验证
颁发时长 几分钟-24小时 3-5工作日 5-7工作日
单次申请年限 1年 1-2年 1-2年
赔付保障金 125-175万美金 150-175美金

证书购买选择及注意事项

可以选择保护 一个域名www

                      五个域名www、images、cdn、test、m

                      通配符域名*.koten.com

注意

1、证书不支持续费,证书到期需要重新申请并进行替换

2、不支持三级域名解析,如test.m.koten.com

3、显示绿色,说明整个网站的URL都是HTTPS,显示黄色,说明网站代码中包含HTTP的不安全链接,显示红色,说明证书是假的或者证书过期。

 

Nginx单台服务器实现证书

1、Nginx上需要有--with-http_ssl_module模块,创建存放ssl证书的路径

1. [root@Web01 test]# mkdir -p /etc/nginx/ssl_key
2. [root@Web01 test]# cd /etc/nginx/ssl_key/
3. [root@Web01 ssl_key]#

2、使用openssl命令充当CA权威机构创建证书(生产不使用此方式生成证书,这是不被互联网认可的黑户证书)

1. [root@Web01 ssl_key]# openssl genrsa -idea -out server.key 2048
2. Generating RSA private key, 2048 bit long modulus
3. ...............................+++
4. .....+++
5. e is 65537 (0x10001)
6. Enter pass phrase for server.key:    #输入密码6666
7. Verifying - Enter pass phrase for server.key:
8. [root@Web01 ssl_key]#

3、生成自签证书,同时去掉私钥的密码

1. [root@Web01 ssl_key]# openssl req -days 36500 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
2. Generating a 2048 bit RSA private key
3. ..............................................................................+++
4. ...+++
5. writing new private key to 'server.key'
6. -----
7. You are about to be asked to enter information that will be incorporated
8. into your certificate request.
9. What you are about to enter is what is called a Distinguished Name or a DN.
10. There are quite a few fields but you can leave some blank
11. For some fields there will be a default value,
12. If you enter '.', the field will be left blank.
13. -----
14. Country Name (2 letter code) [XX]:CN
15. State or Province Name (full name) []:BeiJing
16. Locality Name (eg, city) [Default City]:BeiJing
17. Organization Name (eg, company) [Default Company Ltd]:BeiJing 
18. Organizational Unit Name (eg, section) []:BeiJing
19. Common Name (eg, your name or your server's hostname) []:koten.com
20. Email Address []:666666@qq.com   
21. [root@Web01 ssl_key]# 
22. 
23. 
24. # req  --> 用于创建新的证书
25. # new  --> 表示创建的是新证书    
26. # x509 --> 表示定义证书的格式为标准格式
27. # key  --> 表示调用的私钥文件信息
28. # out  --> 表示输出证书文件信息
29. # days --> 表示证书的有效期

4、修改Nginx配置文件

1. [root@Web01 ssl_key]# cat /etc/nginx/conf.d/test.conf 
2. server {
3.         listen 443 ssl;
4.         server_name test.koten.com;
5.         ssl_certificate   /etc/nginx/ssl_key/server.crt;
6.         ssl_certificate_key  /etc/nginx/ssl_key/server.key;
7. location / {
8.                 root /code/test;
9. index index.html;
10.         }
11. }
12. 
13. #配置将用户访问http请求强制跳转https
14. server {
15.         listen 80;
16.         server_name test.koten.com;
17. return 302 https://$server_name$request_uri;
18. }
19. [root@Web01 ssl_key]# systemctl restart nginx
20. [root@Web01 ssl_key]# echo '测试ssl' > /code/test/index.html

5、浏览器访问

目录
相关文章
|
9月前
|
机器学习/深度学习 人工智能 运维
云架构不是养祖宗,智能运维教你省心又省钱
云架构不是养祖宗,智能运维教你省心又省钱
230 2
|
9月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
11月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
1133 0
|
8月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
329 8
|
9月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
11月前
|
运维 监控 Cloud Native
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
从“守机器”到“写策略”——云原生架构把运维逼成了架构师
292 1
|
10月前
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
233 0
|
8月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路