麒麟操作系统服务架构保姆级教程(十一)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开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值