当前位置: 首页 > 知识库问答 >
问题:

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

呼延运恒
2024-04-05

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

详情
宿主机部署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支持,开了组织强制漏洞

共有2个答案

公冶智刚
2024-04-05

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

冯宏恺
2024-04-05

你的问题可能涉及到多个方面,包括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的版本是最新的,因为旧版本可能包含已知的问题或漏洞。

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

 类似资料:
  • 我用AMH建了两个网站,现在打开A网站跑到B网站去了,打开B网站显示的也是B网站,咋整,我把默认的IP网站给删除了,不会是这个原因吧 这个问题怎么解决,解决不了只好卸载amh面板了,改用其他面板了 @amh支持 @AMH支持

  • 本文向大家介绍详解django模板与vue.js冲突问题,包括了详解django模板与vue.js冲突问题的使用技巧和注意事项,需要的朋友参考一下 问题: django模板与vue.js的变量都是使用“{{”和“}}”包裹起来的,在渲染django模板时会先替代掉所有的“{{”和“}}”及被包裹在其中的内容,使得vue.js没有使用”{{“、”}}”来绑定变量。 处理方法: 方法1:修改vue.j

  • 关于在AMH面板使用nginx stream块的问题 因为想要复刻这个项目:https://www.notionfaster.org/%E5%AE%9E%E7%8E%B0%E6%96%B9%E6%B... 其中nginx设置的模块是 AMH的vhost中似乎只能设置server层级,有什么办法在不直接修改amh面板nginx的情况下,使用nginx stream块? 提问了openai很长时间,未

  • 问题内容: 请告诉我,什么是部署nodejs应用程序nginx或node-http-proxy的首选方法。什么是最可靠的? 我需要的基本功能是 将所有请求代理到非80个帖子 负载均衡器 Websocket支持 问题答案: 这是一篇有关该主题的出色文章,网址为http://www.exratione.com/2012/07/proxying-websocket- traffic-for-nodejs

  • 问题内容: 我想将AngularJS与Django一起使用,但是它们都用作模板标记。有没有一种简单的方法可以将两者之一更改为使用其他自定义模板标签? 问题答案: 对于Angular 1.0,你应该使用$ interpolateProvider api配置插值符号:http : //docs.angularjs.org/api/ng.$interpolateProvider。 这样的事情应该可以解决

  • 现在这种情况仍然发生,但很少发生,就像100次碰撞中有1次发生,而在100次碰撞中有20次发生之前