0


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

前言

在上一个篇

  1. 记录

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

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

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

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

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

长亭雷池防火墙WAF

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

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

WAF部署

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

  1. 服务器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 磁盘

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

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

使用

  1. 在线安装命令

,快速安装

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

首次登录雷池防火墙

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

  1. dockerexec safeline-mgt resetadmin

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

  1. [SafeLine] Initial usernameadmin
  2. [SafeLine] Initial password:**********
  3. [SafeLine] Done

随后通过

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

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

  1. 2FA认证

,我使用的是

  1. 微软Authenicator

软件进行

  1. 2FA认证

。**

完成后进入

  1. 仪表板

长亭雷池防火墙仪表板

配置反向代理站点

添加站点

在左侧的菜单中找到

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

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

  1. http://172.20.20.23:5500

,外网访问端口为

  1. 80

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

  1. A记录解析

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

  1. 443

并在

  1. 证书管理

界面上传对应的

  1. SSL证书

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

  1. SSL证书

添加站点样例
完成后点击

  1. 提交

测试反向代理站点

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

常见报错

如果遇到

  1. 502

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

502报错界面


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

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

还没有评论