宝塔反向代理隐藏IP防攻击教程
时间:2026-05-15 22:16:32 454浏览 收藏
本文详细介绍了如何利用宝塔面板配合Nginx反向代理全面隐藏网站源站真实IP,有效防范恶意扫描、信息泄露和DDoS攻击——通过五步关键操作:精准配置proxy_pass并屏蔽原始Host头、强制源站仅监听本地或内网地址、用宝塔防火墙白名单严格限制访问来源、清除暴露服务版本的Server响应头、以及确保DNS解析完全指向代理服务器而非源站,层层加固,让攻击者无法触达真实后端,大幅提升网站安全性与隐蔽性。

如果您在宝塔面板中部署了网站,但希望避免直接暴露源站服务器的真实IP地址以降低被恶意扫描或DDoS攻击的风险,则可通过反向代理方式将流量经由Nginx中转,使客户端仅与代理服务器通信。以下是实现该目标的具体操作步骤:
一、配置Nginx反向代理规则
通过在宝塔面板中为站点添加自定义Nginx配置,将所有请求转发至源站域名或内网IP,同时屏蔽原始Host头和真实IP传递,从而隐藏后端服务器信息。
1、登录宝塔面板,进入【网站】页面,点击目标站点右侧的【设置】按钮。
2、切换到【配置文件】选项卡,在server块的location / {}区域内,删除原有root或index相关配置,替换为以下反向代理指令:
3、在proxy_pass后填写源站可访问的域名(如:https://origin.example.com)或内网IP加端口(如:http://192.168.1.100:8080),确保该地址无法从公网直接解析或访问。
4、在proxy_set_header Host行中,将值设为$host而非源站域名,防止后端日志记录错误Host导致信息泄露。
5、保存配置后,点击【重载配置】使Nginx生效。
二、关闭源站Web服务对外监听
仅配置反向代理不足以完全隐藏源站IP,若源站Web服务(如Nginx/Apache)仍绑定0.0.0.0并监听80/443端口,则可能被端口扫描直接命中。需限制其仅响应本地回环或内网请求。
1、登录源站服务器,执行命令查看当前监听状态:netstat -tuln | grep ':80\|:443'。
2、若输出中包含0.0.0.0:80或:::80,说明服务正对外暴露;需编辑源站Web服务配置文件,将listen指令改为127.0.0.1:80或192.168.1.100:80(与反向代理中proxy_pass地址一致)。
3、重启对应Web服务:systemctl restart nginx 或 systemctl restart apache2。
4、再次运行netstat命令确认监听地址已变为127.0.0.1或指定内网IP。
三、启用宝塔防火墙并封禁非代理IP访问
利用宝塔内置防火墙模块,限制仅允许反向代理服务器的IP访问源站Web端口,其他所有来源均被拦截,形成网络层隔离。
1、进入宝塔面板【安全】页面,点击【防火墙】选项卡,确保防火墙已启动。
2、点击【端口放行】,检查80/443端口是否处于开放状态;若已开放,点击右侧【删除】将其关闭。
3、点击【IP黑名单】下方的【添加白名单】按钮,在弹出框中输入反向代理服务器的公网IP地址(即运行宝塔面板的那台服务器的IP)。
4、在【端口】栏填写源站实际监听的端口(如8080),选择协议为TCP,点击【提交】。
5、返回【端口放行】列表,手动添加该端口(如8080)并设为仅允许白名单IP访问。
四、替换源站响应头中的Server字段
默认情况下,源站Web服务会在HTTP响应头中返回Server字段(如Server: nginx/1.20.1),攻击者可据此识别软件版本并发起针对性漏洞利用。需清除或伪造该字段以增加探测难度。
1、在宝塔面板【网站】→【设置】→【配置文件】中,于server块内添加如下指令:
2、插入more_clear_headers 'Server';(需先安装headers-more-nginx-module模块)或使用替代方案:server_tokens off;(适用于Nginx,仅隐藏版本号)。
3、若使用Apache,在源站配置中添加:ServerSignature Off 和 ServerTokens Prod。
4、保存后点击【重载配置】,使用curl -I命令验证响应头中是否已无Server字段或仅显示“Server: nginx”。
五、配置DNS不指向源站IP
即使完成上述所有步骤,若源站域名仍通过DNS A记录直接解析到源站IP,则攻击者可通过查询DNS历史或公共DNS缓存轻易获取真实地址。必须确保域名解析始终只指向反向代理服务器IP。
1、登录域名DNS管理后台,检查该域名的A记录或CNAME记录,确认其解析目标为宝塔所在服务器的公网IP,而非源站IP。
2、删除任何指向源站IP的备用A记录、子域名记录(如www、api、origin等),除非这些子域名本身也经过反向代理。
3、使用dig命令验证解析结果:dig +short example.com,输出应仅为宝塔服务器IP。
4、检查SSL证书绑定域名是否与当前DNS解析一致,避免因SNI不匹配导致HTTPS连接失败。
好了,本文到此结束,带大家了解了《宝塔反向代理隐藏IP防攻击教程》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
295 收藏
-
368 收藏
-
487 收藏
-
454 收藏
-
437 收藏
-
243 收藏
-
161 收藏
-
259 收藏
-
191 收藏
-
370 收藏
-
325 收藏
-
184 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习