day37-https实战

2024-08-22 12:20
文章标签 day37 https 实战

本文主要是介绍day37-https实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.知识点补充:

四层代理转发数据库
目的: 通过10.0.0.4 使用ssh远程连接到web01
ssh--->10.0.0.4:2222 ---------->172.16.1.7:22
xshell-->创建会话-->10.0.0.4 端口 2222
Linux系统  ssh 10.0.0.4 -p2222作业:
目的: 实现连接10.0.0.4的5555端口转发到后端数据库的172.16.1.51 3306端口
web01测试远程连接数据库方式:
1.安装mysql命令
2.mysql -h 172.16.1.51 -ulzy -plzy123.com10.0.0.4  5555 ---------> 172.16.1.51:3306
测试通过四层连接数据库:
mysql -h 10.0.0.4 -P5555 -ulzy -plzy123.com[root@web01:~]#mysql -h 10.0.0.4 -P5555 -ulzy -plzy123.comMariaDB [(none)]> quit
Bye远程连接数据库工具测试:

2.https

面试题:
https在那一层进行数据加密
表示层
https的加密流程
1.浏览器访问服务端
2.服务端返回证书包含公钥给浏览器
3.浏览器向CA机构验证证书的合法性
4.如果不合法则提示警告信息
5.如果合法浏览器生成一个随机数 使用R表示
6.使用证书的公钥将R随机数进行加密传输给服务器
7.服务器使用私钥对公钥进行解密拿到客户端的R随机数
8.服务端使用R随机数对数据进行加密传输给浏览器
9.至此双方使用对称式加密方式进行数据传输

3.http 劫持

1.web01作为正常的网站服务
[root@web01:~]#cd /etc/nginx/conf.d/
[root@web01:conf.d]#
[root@web01:conf.d]#cat test.conf
server {listen 80;server_name www.lzy.com;root /data/code;index index.html;charset utf-8;
}
[root@web01:conf.d]#mkdir /data/code -p
[root@web01:conf.d]#vim /data/code/index.html
[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 /data/code/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:~]#cd /etc/nginx/conf.d/
[root@web02:conf.d]#
[root@web02:conf.d]#cat jc.conf
upstream jiechi {server 10.0.0.7:80;
}server {listen 80;server_name www.lzy.com;location / {proxy_pass http://jiechi;proxy_set_header Host $http_host;sub_filter '<h1>我是妹妹' '<h1>澳门赌场 德州扑克 牛牛 老虎机随时提现 ';sub_filter '<b>Aticle</b>第一次用h5写文章,好他*的紧张...' '<img src="https://x0.ifengimg.com/ucms/2021_43/1237F0C7C41433B5C3EB0762D070D35739927C0B_size388_w1920_h1080.jpg">';sub_filter '<small>版权所有' ' <small>开源';}
}[root@web02:conf.d]#nginx -t
[root@web02:conf.d]#systemctl restart nginxhosts修改
10.0.0.8  www.lzy.com

浏览器访问测试:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4.证书类型

域名型 DV	 个人站点 博客 论坛
企业型 OV	 传统企业网站 中小型互联网公司
增强型 EV   金融 政府机构访问网站证书的颜色
绿色    # 表示所有的资源都为https
红色    # 表示假的证书或者证书已过期
黄色    # 表示部分资源为http的外链保护域名:
保护一个域名 www                     # 1个证书对应一个域名
保护五个域名 www images cdn test m   # 1个证书可以保护多个域名
通配符域名 *.oldboy.com				# 1个证书可以保护所有的域名

5.证书部署

只配置的是https服务 端口443
[root@web01:conf.d]#cat s.conf
server {listen 443 ssl;server_name download.linuxnc.com;ssl_certificate   conf.d/server.crt;ssl_certificate_key  conf.d/server.key;location / {root /code;index index.html;}
}上传证书到/etc/nginx/conf.d目录下
[root@web01:~]#cd /etc/nginx/conf.d/
[root@web01:conf.d]#
[root@web01:conf.d]#ll
total 52
-rw-r--r-- 1 root root _download.linuxnc.com_nginx.zipunzip 14499054_download.linuxnc.com_nginx.zip修改证书的名称和配置文件一致
[root@web01:conf.d]#mv download.linuxnc.com.pem server.crt
[root@web01:conf.d]#mv download.linuxnc.com.key server.key[root@web01:conf.d]#nginx -t
[root@web01:conf.d]#systemctl restart nginx

访问测试:

download.linuxnc.com:443

配置监听80端口跳转443
[root@web01:conf.d]#cat s.conf
server {listen 443 ssl;server_name download.linuxnc.com;ssl_certificate   conf.d/server.crt;ssl_certificate_key  conf.d/server.key;location / {root /code;index index.html;}
}#配置将用户访问http请求强制跳转https
server {listen 80;server_name download.linuxnc.com;return 302 https://$server_name$request_uri;
}

6.wordpress 单台实现 https

WEB01实现HTTPS
[root@web01:conf.d]#cat wordpress.conf
server {listen 443 ssl;server_name www.wp.com;root /code/wp;ssl_certificate   conf.d/server.crt;ssl_certificate_key  conf.d/server.key;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;}
}#配置将用户访问http请求强制跳转https
server {listen 80;server_name www.wp.com;return 302 https://$server_name$request_uri;
}

7.集群实现 https

1.web01的wordpress配置取消https设置 还原成80
[root@web01:conf.d]#cat wordpress.conf
server {listen 80;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;}
}
[root@web01:conf.d]#nginx -t
[root@web01:conf.d]#systemctl restart nginx2.10.0.0.5配置证书
[root@lb01:~]#cd /etc/nginx/conf.d/
[root@lb01:conf.d]#cat proxy.conf
upstream webs {server 10.0.0.7;server 10.0.0.8;
}
server {listen 443 ssl;server_name www.wp.com;ssl_certificate   /etc/nginx/ssl/server.crt;ssl_certificate_key  /etc/nginx/ssl/server.key;location / {proxy_pass http://webs;include proxy_params;}}#配置将用户访问http请求强制跳转https
server {listen 80;server_name www.wp.com;return 302 https://$server_name$request_uri;
}# 创建证书的目录
[root@lb01:nginx]#mkdir /etc/nginx/ssl
# 拷贝证书到负载均衡
[root@lb01:nginx]#cd ssl/
[root@lb01:ssl]#scp 10.0.0.7:/etc/nginx/conf.d/server.* .#语法测试重启服务
[root@lb01:ssl]#nginx -t
[root@lb01:ssl]#systemctl restart nginx测试:
修改hosts
10.0.0.5  www.wp.com

访问测试页面乱码 需要修改 PHP 支持解析 HTTPS 协议。

web01和web02需要添加一条配置:
[root@web01:conf.d]#cat wordpress.conf
server {listen 80;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;fastcgi_param HTTPS on;			# 增加的内容}
}

注意:

网站静态资源需要优化 比如大的图片压缩成小的

这篇关于day37-https实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096257

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

springboot实战学习(1)(开发模式与环境)

目录 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 (3)前端 二、开发模式 一、实战学习的引言 (1)前后端的大致学习模块 (2)后端 Validation:做参数校验Mybatis:做数据库的操作Redis:做缓存Junit:单元测试项目部署:springboot项目部署相关的知识 (3)前端 Vite:Vue项目的脚手架Router:路由Pina:状态管理Eleme

深度学习实战:如何利用CNN实现人脸识别考勤系统

1. 何为CNN及其在人脸识别中的应用 卷积神经网络(CNN)是深度学习中的核心技术之一,擅长处理图像数据。CNN通过卷积层提取图像的局部特征,在人脸识别领域尤其适用。CNN的多个层次可以逐步提取面部的特征,最终实现精确的身份识别。对于考勤系统而言,CNN可以自动从摄像头捕捉的视频流中检测并识别出员工的面部。 我们在该项目中采用了 RetinaFace 模型,它基于CNN的结构实现高效、精准的

项目实战系列三: 家居购项目 第四部分

购物车 🌳购物车🍆显示购物车🍆更改商品数量🍆清空购物车&&删除商品 🌳生成订单 🌳购物车 需求分析 1.会员登陆后, 可以添加家居到购物车 2.完成购物车的设计和实现 3.每添加一个家居,购物车的数量+1, 并显示 程序框架图 1.新建src/com/zzw/furns/entity/CartItem.java, CartItem-家居项模型 /***

Birt报表开发实战

我就截图描述得了,没什么含金量,看图基本明白的。 1.开始 a.创建报表文件 b.数据源配置 c.配置数据集 2.网格报表 拖拉式操作,很方便 3.预览效果 其他报表的操作也基本不难,就不扯了! 2.级联参数 官方视频教程:http://demo.actuate.com/demos/cascade/cascade.html

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据