amh面板 与 Nginx-proxy-manager 跨站冲突问题?

大大,这个问题折磨了我半个清明假期,求救!!

详情
宿主机部署AMH 7.1面板
宿主机部署Nginx-proxy-manager (docker版本)
宿主机 docker 0 网卡 127.0.17.1

inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0

目前宿主机有三个docker
A 部署 127.0.0.1 9002 使用amh lngx反代 ssl启用强制https 同时lngx设置为默认站点
B 部署 127.0.0.1 9004 使用Nginx-proxy-manager 反代 域名解析宿主机
C 部署 127.0.0.1 9006 使用Nginx-proxy-manager 反代 域名解析宿主机

三个域名都解析在CF

问题来了:
反代后,访问B C都会跳转到A,且提示不安全
Nginx-proxy-manager页面设置,开了ws支持,开了组织强制漏洞

阅读 815
avatarAI BotBETA

你的问题可能涉及到多个方面,包括AMH面板和Nginx-proxy-manager的配置,以及Docker网络设置。以下是一些可能的解决方案和排查步骤:

  1. 检查Nginx配置:首先,你需要检查Nginx的配置文件,确保每个站点(A、B、C)的server块配置正确,没有相互冲突的地方。特别是要检查server_name指令,确保每个站点使用的域名是正确的。
  2. 检查Docker网络:Docker的默认桥接网络(bridge)可能会导致IP地址冲突或路由问题。你可以尝试使用Docker的自定义网络,为每个容器分配固定的IP地址。此外,检查你的Docker容器的网络设置,确保它们可以正确访问宿主机和其他容器。
  3. 检查SSL配置:由于你提到访问B和C时会提示不安全,可能是因为SSL配置不正确。确保每个站点都使用了正确的SSL证书,并且Nginx配置中的SSL设置是正确的。
  4. 检查CF设置:由于你使用Cloudflare(CF)进行域名解析,需要确保CF的DNS设置正确,并且与Nginx-proxy-manager的配置相匹配。检查CF的代理设置,确保正确代理到相应的Docker容器。
  5. 查看Nginx错误日志:查看Nginx的错误日志,可能会提供有关问题的更多信息。通常,Nginx的错误日志位于/var/log/nginx/error.log
  6. 更新Nginx和Nginx-proxy-manager:确保你正在使用的Nginx和Nginx-proxy-manager的版本是最新的,因为旧版本可能包含已知的问题或漏洞。

由于问题的复杂性,可能需要逐一排查上述步骤,以确定问题的根本原因。如果问题仍然存在,建议提供更多详细的配置信息和日志,以便更深入地分析问题。

2 个回答

amh本身是没有监听80、443端口,
如果有添加的网站就会有监听80与443的情况,虚拟主机有一选项有端口设置。
(http不加端口时默认就是80,https不加端口就是443)

如果你是有其它软件程序使用了80与443,可能就会与amh面板上的冲突了。

我想起来了
amh本身已经监听了80 443端口
我现在npm在使用时,一定会涉及到80 443的映射
所以直接访问域名肯定不行,得【域名:xxxxx映射端口】才行
虽然不知道为什么跨站了……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题