什么是 https
我们都知道 web app 的运行都是建立在网络应用层 http 协议的,http 协议能够进行客户端和服务器之间的请求和返回。但是这个过程是明文传输的,当请求被抓包后传输内容很容易被篡改,这对用户的安全性来说是极其严重的威胁。pwa 应用出于安全性的考虑要求项目必须部署在 https 环境。
那么 https 是什么呢?
https 是将 http 置于 ssl/tls 之上,其效果是加密 http 流量( traffic ),包括请求的 url、结果页面、cookies、媒体资源和其他通过 http 传输的内容。企图干扰 https 连接的人既无法监听流量,也无法更改其内容。除了加密,远程服务器的身份也要进行验证:毕竟,如果你无法确定连接的另一端是谁,加密连接也就没什么意义了。这些措施将使拦截流量变得极其困难。虽然攻击者仍有可能知道用户正在访问哪个网站,但他所能知道的也就仅限于此了。
https请求流程图
本文将利用docker & docker-compose 搭建本地 https 环境,下面话不多说了,来一起看看详细的介绍吧。
工具:
- acme#sh (生成免费证书)
- docker & docker-compose
- ihost (可以手动修改 hosts 文件)
配置文件:
docker-compose.dev.yml
1
2
3
4
5
6
7
8
9 |
version: '3'
services:
proxy:
image: nginx:stable-alpine
ports:
- 443:443
volumes:
- /users/thonatos/.acme.sh/*.implements.io:/etc/nginx/ssl/
- ./default.conf:/etc/nginx/conf.d/default.conf |
default.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
# http server
#
server {
listen 443 ssl;
server_name szcu.implements.io;
ssl_certificate /etc/nginx/ssl/fullchain.cer;
ssl_certificate_key /etc/nginx/ssl/*.implements.io.key;
location / {
proxy_set_header upgrade $http_upgrade;
proxy_set_header connection "upgrade";
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_set_header host $host;
proxy_pass http://192.168.2.51:7001; # ip 请勿使用 127.0.0.1
}
} |
hosts
1 |
127.0.0.1 szcu.implements.io |
运行
1
2
3
4
5 |
# 启动 egg.js
yarn dev
# 启动 nginx
docker-compose -f docker-compose.dev.yml up |
打开 chrome 可以看到旁边绿色的锁了,大功告成。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对快网idc的支持。
原文链接:https://zhuanlan.zhihu.com/p/36201147
相关文章
- 服务器技术之硬件冗余技术 2025-05-27
- 服务器是租用还是服务器托管好? 2025-05-27
- 什么是DNS以及它如何影响服务器? 2025-05-27
- 刀片服务器与机架服务器的区别介绍 2025-05-27
- 服务器虚拟化技术深度科普 2025-05-27
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-26 98
-
2025-05-27 23
-
完美解决docker安装mysql后Navicat连接不上的问题
2025-05-27 17 -
2025-05-26 50
-
2025-05-27 54