前言
浅浅写一下实践笔记,这次先拿HTTP/HTTPS试试水,其实也是总结一下学习成果啦。
HTTP/HTTPS 抓包原理
首先,我们要先了解原理,才能够更好地学习和应用,然后寻找一下专业解析。
HTTP/HTTPS抓包原理是指通过监听网络流量,获取HTTP/HTTPS请求和响应的过程。抓包工具可以截获网络数据包,并将其解析成可读的格式,以便分析和调试网络通信。
在HTTP通信中,客户端发送HTTP请求到服务器,服务器返回HTTP响应。抓包工具可以截获这些请求和响应,并显示它们的详细信息,如请求方法、URL、请求头、响应状态码、响应头等。
HTTPS是基于SSL/TLS协议的安全的HTTP通信。在HTTPS通信中,抓包工具需要能够解密SSL/TLS加密的数据才能获取明文的HTTP请求和响应。为了实现这一点,抓包工具通常会使用自己的证书来替换服务器的证书,使客户端相信它是服务器,并将加密数据解密后显示。
学习到对HTTP抓包,无需做过多的处理,只需要让中间人负责转发客户端和服务端的数据包。而HTTPS是在 HTTP 协议栈中 http 与 tcp 之间插入安全层 SSL/TSL。HTTPS有了安全层,相对于HTTP,就有效解决了没有加密的核心问题。
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
学习了在ngnix配置https:
- 在HTTP(80端口)的server块中添加一个重定向,将所有HTTP请求重定向到HTTPS:
server { listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
- 在HTTPS(443端口)的server块中添加以下配置:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/ssl_certificate.crt;
ssl_certificate_key /path/to/private_key.key;
# 添加其他HTTPS参数,如优先加密算法、TLS版本等(可选)
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# 配置其他Nginx选项,如目录、代理等(根据你的具体需求进行配置)
location / {
root /path/to/website;
index index.html;
}
}
- 保存并退出配置文件。
总结
学的东西不多,小白一枚,继续学习。