当前位置:论坛首页 > Linux面板 > 讨论

【疑难】宝塔面板隐藏登录端口+修复反代后无法正常读取ip

发表在 Linux面板2022-4-24 19:57 [复制链接] 3 4043

注意

以下方法会使面板登录IP存在被欺骗风险

仅限可承受风险且确有需要人群使用

该方法会改动面板核心代码,未正确操作出现任何后果自负

隐藏登录端口:

1.在网站列表中新建一个网站,绑定至对应的访问域名

2.选择反向代理,添加反向代理规则,域名为你绑定的访问域名,目标URL为http://localhost:端口号(可参考图中设置)

反向代理建议设置参数

反向代理建议设置参数

3.为绑定的域名添加指向服务器ip的A/AAAA记录

修复添加代理隐藏登录端口后通知消息无法正常识别IP地址问题:

以下内容存在导致面板无法正常使用的风险,如确有需要请谨慎修改

1.通过ssh登录到服务器

2.打开/www/server/panel/class目录

3.修改public.py文件,改动如下:
原589行代码
  1. return request.remote_addr.replace('::ffff:','')
复制代码
替换为
  1. return request.environ.get('HTTP_X_REAL_IP', request.remote_addr).replace('::ffff:','')
复制代码

完成以上步骤之后,修改仍未生效,请再次确定修改无误且确实需要该功能后执行以下步骤

4.保存文件,在当前目录下执行以下代码:

  1. python -m py_compile public.py
复制代码
5.此时,文件已被修改完成,重启面板后即可生效

以上方法仅发布于宝塔面板官方论坛,如需转载请注明内容出处

该方法涉及面板核心代码修改,请慎重执行!!!



使用道具 举报 只看该作者 回复
发表于 2022-4-24 20:08:21 | 显示全部楼层
修改列表:
第一次修改:从建议分区切换到讨论分区第二次修改:修复了589行代码修改未完全显示的问题
使用道具 举报 回复 支持 反对
发表于 2022-6-2 10:54:59 | 显示全部楼层
目前最新版本中 位置变为655行左右 原代码为
  1. ipaddr = request.remote_addr.replace('::ffff:','')
复制代码
应修改为
  1. <blockquote>ipaddr = request.environ.get('HTTP_X_REAL_IP', request.remote_addr).replace('::ffff:','')
复制代码

使用道具 举报 回复 支持 反对
发表于 2023-3-4 22:30:57 | 显示全部楼层
rctess 发表于 2022-6-2 10:54
目前最新版本中 位置变为655行左右 原代码为应修改为

不行,改了面板会报错502,控制台也会出错[root@VM-0-12-centos class]# bt
Traceback (most recent call last):
  File "/www/server/panel/tools.py", line 17, in <module>
    import public,time,json
  File "/www/server/panel/class/public.py", line 654
    <blockquote>ipaddr = request.environ.get('HTTP_X_REAL_IP', request.remote_addr).replace('::ffff:','')
    ^
SyntaxError: invalid syntax



使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理
快速回复 返回顶部 返回列表