麒麟操作系统服务架构保姆级教程(十一)https配置

  如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情

在运维工作中,加密和安全的作用是十分重要的,如果仅仅用http协议来对外展示我们的网站,过一段时间就会发现网站首页被人奇奇怪怪的篡改了,本来好好的博客论坛,被人篡改的五毒俱全,这个时候我们的网站就需要加密访问了,这个加密不是说要密码才可以查看网站,而是通过https协议进行加密访问,客户端进行访问的时候会进行加密和解密,防止我们的web服务被篡改,今天咱们介绍一下https加密访问~~~~

目录

一、http被劫持演示

1、配置WEB01服务器为正确的网站

​编辑

2、配置WEB02服务器为劫持网站 类似黑客劫持

3、修改网页中的内容 配置劫持内容

二、https的优势

三、配置https

1、配置之前访问一下方便对比不同

​编辑

解决无法识别https,css失效的问题


💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、http被劫持演示

1、配置WEB01服务器为正确的网站

[root@web01 conf.d]#vim static.conf
server {
        listen 80;
        server_name www.static.com;
        
        location / {
        root /code/test;
        index index.html;
        }       
}                                               
"static.conf" 9L, 107C written 
[root@web01 conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 conf.d]#systemctl restart nginx
[root@web01 conf.d]#cat /code/test/index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我是title</title>
</head>
<body>
<article>
<header>
    <h1>小屁的博客</h1>
    <p>创建时间:<time pubdate="pubdate">2020/5/20</time></p>
</header>
  <p>
    <b>Aticle</b>第一次用h5写文章,好他*的紧张...
  </p>
  <footer>
        <p><small>版权所有!</small></p>
  </footer>
    </article>
</body>
</html>

2、配置WEB02服务器为劫持网站 类似黑客劫持

[root@web02 conf.d]#cat static.conf 
server {
    listen 80;
    server_name www.static.com;
    location / {
        proxy_pass http://10.0.0.7;
        proxy_set_header Host $http_host;
    }
}
[root@web02 conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web02 conf.d]#systemctl restart nginx

3、修改网页中的内容 配置劫持内容

[root@web02 conf.d]#cat static.conf 
server {
    listen 80;
    server_name www.static.com;
location / {
    proxy_pass http://10.0.0.7;
    proxy_set_header Host $http_host;
    sub_filter '<h1>小屁的博客' '<h1>狗屁的博客 ';
    sub_filter '<b>Aticle</b>第一次用h5写文章,好他*的紧张...' '<img src="https://bbsfiles.vivo.com.cn/vivobbs/attachment/forum/201601/06/113550pg0zwb1yhbewv774.jpg">';
    sub_filter '<small>版权所有' ' <small>开源';
    }
}
​
​
小屁为了文章可以过审修改的还是比较含蓄的,有些不法的公司改的特别离谱,五毒俱全

二、https的优势

https和http的区别以及https的优势
区别
协议名称及含义:
HTTP(超文本传输协议):是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器,它是一种无状态、无连接的应用层协议,默认使用端口 80。
HTTPS(超文本传输安全协议):是以安全为目标的 HTTP 通道,简单讲是 HTTP 的安全版,在 HTTP 的基础上通过传输加密和身份认证保证了传输过程的安全性,默认使用端口 443。
数据传输安全性:
HTTP:数据传输是明文的,这意味着在客户端(如浏览器)和服务器之间传输的数据,比如登录密码、账户信息等敏感内容,很容易被第三方截获并解读,安全性较差。
HTTPS:采用了 SSL/TLS(安全套接层协议 / 传输层安全协议)加密技术,对传输的数据进行加密处理,即使数据被截取,第三方在没有解密密钥的情况下也无法获取其中的真实内容,极大地保障了数据的保密性和完整性。
身份认证方面:
HTTP:没有提供有效的身份认证机制,客户端难以确认与之通信的服务器是否是真正合法的目标服务器,容易遭受中间人攻击等安全威胁,攻击者可以伪装成服务器来获取用户信息。
HTTPS:在建立连接时,服务器会向客户端提供由权威证书颁发机构(CA)颁发的数字证书,通过验证该证书,客户端可以确认服务器的真实身份,确保是和合法的目标服务器进行通信,防止中间人冒充服务器的情况出现。
性能表现:
HTTP:由于不需要进行加密、解密以及证书验证等额外操作,在数据传输时相对来说性能开销较小,传输速度理论上可能更快一些,但在如今安全要求高的环境下,其安全性缺陷限制了它的使用场景。
HTTPS:加密和解密过程以及证书验证等操作会消耗一定的计算资源,导致其性能相比 HTTP 会稍低一点,比如会增加一定的响应时间、占用更多的服务器资源等,但随着计算机性能的提升以及相关技术的优化,这种性能影响在很多情况下是可以接受的。
HTTPS 的优势
安全性高:通过加密传输数据和身份认证,能有效防止数据被窃取、篡改以及中间人攻击等,保护用户的隐私信息(如账号、密码、交易记录等),特别适用于涉及敏感信息传输的场景,像网上银行、电子商务平台、在线支付等领域。
提升信任度:网站使用 HTTPS 协议,浏览器地址栏会显示安全锁图标等标识,让用户直观地感受到网站是安全可靠的,有助于提升用户对网站的信任程度,进而提高用户的留存率和参与度,对于商业网站来说这一点尤为重要。
符合搜索引擎优化(SEO)要求:主流搜索引擎(如谷歌、百度等)都更倾向于将采用 HTTPS 协议的网站排名靠前,这意味着网站使用 HTTPS 有助于提升在搜索引擎结果页面中的排名,从而获得更多的流量和曝光机会。
满足合规需求:在很多行业领域,如金融、医疗、政务等,有严格的安全法规和数据保护条例要求,使用 HTTPS 协议是满足这些合规性要求的必要条件之一,能避免因违反相关规定而面临的法律风险。

三、配置https

1、配置之前访问一下方便对比不同

1.生成证书
[root@web01 ~]#mkdir -p /etc/nginx/ssl_key
[root@web01 ~]#cd /etc/nginx/ssl_key
[root@web01 ssl_key]#
[root@web01 ssl_key]#openssl genrsa -idea -out server.key 2048
Generating RSA private key, 2048 bit long modulus
..................+++
................+++
e is 65537 (0x10001)
Enter pass phrase for server.key:    
# 输入1234
Verifying - Enter pass phrase for server.key: # 输入1234
2.配置证书
[root@web01 ssl_key]#openssl req -days 36500 -x509 \
> -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:BJ
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:yunzhongzi
Organizational Unit Name (eg, section) []:etiantian
Common Name (eg, your name or your server's hostname) []:www.wp.com
Email Address []:123@qq.com
[root@web01 ssl_key]#pwd
/etc/nginx/ssl_key
[root@web01 ssl_key]#ll
total 8
-rw-r--r-- 1 root root 1379 Apr 25 10:08 server.crt     
-rw-r--r-- 1 root root 1704 Apr 25 10:08 server.key     
[root@web01 conf.d]#cat wp.conf 
server {
    listen 443 ssl;
    ssl_certificate   ssl_key/server.crt;
    ssl_certificate_key  ssl_key/server.key;
    server_name www.wp.com;
    root /code/wp;
    location / {
        index index.php index.html;
}
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
server {
    listen 80;
    server_name www.wp.com;
    return 302 https://$server_name$request_uri;
}
[root@web01 conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 conf.d]#systemctl restart nginx
​
配置lb01
主机名 外网IP(NAT)   内网IP(LAN)   角色
lb01    
10.0.0.5    
web02   
10.0.0.8    
172.16.1.5  负载均衡    
配置证书 https
 172.16.1.8  web服务器   http
 web03   
10.0.0.9    
172.16.1.9  web服务器   http
 # 需要还原WEB01的https的配置为http
负载均衡配置:
[root@lb01 conf.d]#cat wp.conf 
upstream web {
     server 10.0.0.7;
     server 10.0.0.8;
}
server {
    listen 443 ssl;
    ssl_certificate   ssl_key/server.crt;
    ssl_certificate_key  ssl_key/server.key;
    server_name www.wp.com;
    location / {
        proxy_pass http://web;
        include proxy_params;
    }
}
server {
    listen 80;
    server_name www.wp.com;
    return 302 https://$server_name$request_uri;
}
[root@lb01 conf.d]#scp -r 172.16.1.7:/etc/nginx/ssl_key ../
[root@lb01 conf.d]#ll ../ssl_key/
total 8-rw-r--r-- 1 root root 1379 Apr 25 10:24 server.crt-rw-r--r-- 1 root root 1704 Apr 25 10:24 server.key
[root@lb01 conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@lb01 conf.d]#systemctl restart nginx

解决无法识别https,css失效的问题

[root@web02 conf.d]#vim wp.conf 
server {
    listen 80;
    server_name www.wp.com;
    root /code/wordpress;
    location / {
        index index.php index.html;
    }
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param HTTPS on;
    }
}
#注:web01,web02都进行修改,然后nginx -t验证语法问题,systemctl restart nginx重启服务|nginx -s reload重载nginx
搞定lb01的代码之后,web01web02的代码重定向取消;代码恢复到原来

https配置成功~~~~

今天的https就介绍到这里,明天介绍keepalived高可用~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/955266.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TiDB 的高可用实践:一文了解代理组件 TiProxy 的原理与应用

导读 TiProxy 是 TiDB 官方推出的高可用代理组件&#xff0c;旨在替代传统的负载均衡工具如 HAProxy 和 KeepAlived&#xff0c;为 TiDB 提供连接迁移、故障转移、服务发现等核心能力。 本文全面解析了 TiProxy 的设计理念、主要功能及适用场景&#xff0c;并通过实际案例展示…

Redisson发布订阅学习

介绍 Redisson 的消息订阅功能遵循 Redis 的发布/订阅模式&#xff0c;该模式包括以下几个核心概念&#xff1a; 发布者&#xff08;Publisher&#xff09;&#xff1a;发送消息到特定频道的客户端。在 Redis 中&#xff0c;这通过 PUBLISH 命令实现。 订阅者&#xff08;Sub…

Github 2025-01-17 Java开源项目日报 Top8

根据Github Trendings的统计,今日(2025-01-17统计)共有8个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目8TypeScript项目1Python项目1OpenAPI 生成器:基于规范自动生成API工具 创建周期:2155 天开发语言:Java协议类型:Apache License 2.0…

基于docker微服务日志ELK+Kafka搭建

ELK 是 Elasticsearch 、 Logstash 、 Kibana 的简称 Elasticsearch 是实时全文搜索和分析引擎&#xff0c;提供搜集、分析、存储数据三大功能&#xff1b;是一套开放 REST 和 JAVA API 等结构提供高效搜索功能&#xff0c;可扩展的分布式系统。它构建于 Apache Lucene 搜索引…

《C++11》中的显式虚函数重载:深入理解与应用

在C编程中&#xff0c;虚函数是一种强大的工具&#xff0c;它允许我们实现多态。通过虚函数&#xff0c;我们可以在派生类中重写基类的函数&#xff0c;从而实现运行时多态。然而&#xff0c;当我们在派生类中重载虚函数时&#xff0c;可能会遇到一些问题。在C11中&#xff0c;…

HTML 的基础知识及其重要性

前言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;它为我们提供了结构化内容和重要信息。无论是个人博客、企业官网还是大型电子商务平台&#xff0c;HTML 都是不可或缺的一部分。本文将介绍 HTML 的基本概念、结构及其在网页开发中的重要性。 什…

STM32 FreeRTOS 任务创建和删除实验(动态方法)

目录 实验目标 CubeMX环境准备 SysMode配置 RCC配置 ​编辑LED1引脚配置 LED2引脚配置 KEY1引脚配置 串口USART1配置 NVIC配置 项目管理 代码生成配置 生成代码 Keil配置 打开项目: 配置使用微库 配置每次烧录后“复位并运行” FreeRTOS移植 移植配置完成后的…

【Docker】——安装Docker以及解决常见报错

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

Ubuntu22.04安装paddle GPU版本

文章目录 确立版本安装CUDA与CUDNN安装paddle 确立版本 查看官网信息&#xff0c;确立服务版本&#xff1a;https://www.paddlepaddle.org.cn/documentation/docs/zh/2.6/install/pip/linux-pip.html 安装CUDA与CUDNN 通过nvidia-smi查看当前显卡驱动版本&#xff1a; 通过…

【MySQL 的数据目录】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、MySQL 的数据目录 1、数据库文件的存放路径2、相关命令目录3、配置文件目录 二、数据库和文件系统的关系 1、查看默认数据库2、数据库在文件系统中的表示3、表…

【安卓开发】【Android】总结:安卓技能树

【持续更新】 对笔者在安卓开发的实践中认为必要的知识点和遇到的问题进行总结。 一、基础知识部分 1、Android Studio软件使用 软件界面 最新的版本是瓢虫&#xff08;Ladybug&#xff09;&#xff0c;bug的确挺多。笔者更习惯使用电鳗&#xff08;Electric Eel&#xff0…

openharmony电源管理子系统

电源管理子系统 简介目录使用说明相关仓 简介 电源管理子系统提供如下功能&#xff1a; 重启服务&#xff1a;系统重启和下电。系统电源管理服务&#xff1a;系统电源状态管理和休眠运行锁管理。显示相关的能耗调节&#xff1a;包括根据环境光调节背光亮度&#xff0c;和根…

SQL Server 导入Excel数据

1、选中指定要导入到哪个数据库&#xff0c;右键选择 》任务 》导入数据 2、数据源 选择Excel&#xff0c;点击 下一步(Next) 3、目前 选择OLE DB Provider &#xff0c;点击 下一步&#xff08;Next&#xff09; 4、默认 &#xff0c;点击 下一步&#xff08;Next&#xff09;…

MySQL安装-Windows

目录 官网下载地址 下载MySQL安装包或者压缩包 安装 / 添加Path环境变量 初始化mysql 无密码初始化 随机密码初始化 注册MySQL服务 / 移除已经注册过的服务 启动MySQL服务 登录mysql前修改密码 登录mysql 登录mysql后修改密码 停止MqSQL服务 企业中使用的场景 官网下…

OSPF的LSA的学习研究

OSPF常见1、2、3、4、5、7类LSA的研究 1、拓扑如图&#xff0c;按照地址表配置&#xff0c;激活OSPF划分相关区域并宣告相关网段 2、1类LSA&#xff0c;每台运行了OSPF的路由器都会产生&#xff0c;描述了路由器的直连接口状况和cost 可以看到R1产生了一条router lsa&#xff0…

ZNS SSD垃圾回收优化方案解读-1

本文解读的论文《Optimizing Garbage Collection for ZNS SSDs via In-storage Data Migration and Address Remapping》是由重庆大学相关研究团队撰写&#xff0c;发表于2024年11月。本文小编将结合论文内容进行学习解读&#xff0c;以供各位读者参考&#xff01;由于水平有限…

生产管理看板助力节能科技公司实现数据自动化管理

在节能科技公司的生产过程中&#xff0c;数据管理的自动化是提高生产效率和产品质量的关键。然而&#xff0c;许多公司在数据记录、展示、对比和存档方面仍面临诸多痛点&#xff0c;如产品检测数据无法自动记录、缺乏直观的产线状态展示、检测数据对比繁琐耗时&#xff0c;以及…

JavaScript笔记基础篇03——函数

黑马程序员视频地址&#xff1a;黑马程序员前端JavaScript入门到精通全套视频教程https://www.bilibili.com/video/BV1Y84y1L7Nn?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes 目录 函数 函数的使用 1.函数的声明语法 2.函数的…

在PyCharm中使用Anaconda中的虚拟环境

1、在File菜单中找到Settings 2、Settings中搜索interpreter&#xff0c;找到Python Interpreter&#xff0c;再点击Add 3、选择第一个local interpreter 4、如图&#xff1a; 5、找到anaconda安装位置中的envs文件夹&#xff0c;在里面选择需要添加的python环境&#xff0c;如…

Windows系统安装 Rust 及其配置

1、在Rust官网下载Rust安装程序 &#xff08;1&#xff09;官网链接&#xff1a;Rust中文官网 &#xff08;2&#xff09;下载链接&#xff1a;下载Rust安装程序 &#xff08;3&#xff09;下载好后的rust安装程序&#xff0c;如下图&#xff1a; 2、运行 rustup-init.exe 安…