0


记录 | 基于WireGuard实现的内网Web服务穿透至外网

前言

在上一个篇

记录

中,我通过WireGuard实现的异地组网,实现了不同地域、不同网络、网络类型不相同的云服务器,实现互联。 记录 | 通过WireGuard实现异地组网 | 点击跳转查看

在此基础上,我需要把家中部署在内网环境中的Web服务穿透至外网以供其他人正常使用

为什么不把服务直接部署在公网环境中?

因为这个服务器仍处于一个开发的状态,还在持续更新代码,在内网环境中,我可以获得一个千兆的速率(局域网),能够更方便的传输文件以及进行开发调试工作。有考虑过使用git,但是对我而言,还是samba共享会更加方便一些。

解决方案:利用长亭雷池WAF实现反向代理

长亭雷池防火墙WAF

为什么会选择使用WAF实现反向代理

由于在我的两个香港服务器中,有其中一个部署了一个中大型的网站项目(用户量7.2W),但自23年以来,该站点不断受到攻击,因此需要一个WAF来协助我更好的对网站进行防护。同时,雷池主要以反向代理的模式工作,符合我的需求

WAF部署

一开始,我想将WAF部署在我的大带宽国内服务器中,但由于国内机房默认封堵80/443端口,需要域名获得工信部ICP备案才能够开放对应端口,因此我选择将WAF部署在一个流量包较大的香港地域服务器

服务器3

中。

使用Docker部署雷池防火墙

使用容器(Docker)快速部署雷池防火墙

雷池防火墙WAF系统环境的要求
  • 操作系统:Linux
  • CPU 指令架构:x86_64
  • CPU 指令架构:支持 ssse3 指令集
  • 软件依赖:Docker 20.10.14 版本以上
  • 软件依赖:Docker Compose 2.0.0 版本以上
  • 最低资源需求:1 核 CPU / 1 GB 内存 / 5 GB 磁盘

我们可以通过以下的命令查看相关的指标是否符合要求

uname-m# 查看指令架构cat /proc/cpuinfo|grep"processor"# 查看 CPU 信息
lscpu |grep ssse3                          # 确认 CPU 是否支持 ssse3 指令集docker version                              # 查看 Docker 版本docker compose version                      # 查看 Docker Compose 版本docker-compose version                      # 查看老版本 docker-compose 版本free-h# 查看内存信息df-h# 查看磁盘信息

使用

在线安装命令

,快速安装

雷池防火墙
bash-c"$(curl-fsSLk https://waf-ce.chaitin.cn/release/latest/setup.sh)"

首次登录雷池防火墙

首次登陆雷池需要初始化管理员账号,使用以下命令即可初始化

dockerexec safeline-mgt resetadmin

执行完成后 即可初始化admin账号和密码

[SafeLine] Initial username:admin
[SafeLine] Initial password:**********
[SafeLine] Done

随后通过

https://<防火墙部署服务器的IP地址>:9443/

即可访问 雷池防火墙
长亭雷池防火墙登录界面
**使用提供的账号和密码登录,并配置

2FA认证

,我使用的是

微软Authenicator

软件进行

2FA认证

。**

完成后进入

仪表板

长亭雷池防火墙仪表板

配置反向代理站点

添加站点

在左侧的菜单中找到

【防护站点】-【站点管理】

界面,点击进入
站点管理
点击右上角的添加站点,以我的某服务后端为例,服务端口在5500,部署在分配地址为172.20.20.23的服务器上,即填入上游服务器地址为:

http://172.20.20.23:5500

,外网访问端口为

80

即HTTP默认访问端口即可,域名填写你的域名并且做好对应的

A记录解析

如需配置SSL证书,请填写端口为

443

并在

证书管理

界面上传对应的

SSL证书

,并在添加站点页面的证书选项中选择对应的

SSL证书

添加站点样例
完成后点击

提交

测试反向代理站点

尝试访问相关的域名,能够看见相应的界面,能够正常访问与请求接口,即为成功
成功访问

常见报错

如果遇到

502

报错,即表明WAF服务器无法访问上游服务,请检查对应上游站点防火墙是否放行相关端口,隧道链接是否正常等…

502报错界面


本文转载自: https://blog.csdn.net/qq_37283976/article/details/140648747
版权归原作者 LeoDeng0815 所有, 如有侵权,请联系我们删除。

“记录 | 基于WireGuard实现的内网Web服务穿透至外网”的评论:

还没有评论