NGINX proxy_pass 到 RabbitMQ 管理器只能通过移动设备工作

NGINX proxy_pass to RabbitMQ manager only works via mobile device

我的 NGINX/RabbitMQ 设置遇到了一个非常具体的问题,在该设置中,我只能通过移动设备访问所需的结果。我希望有人可以指出我做错了什么 :)。我有以下设置:

DigitalOcean 上的两个 droplet:

docker-hub 上的两张图片:

myaccount/customnginx

Dockerfile:

FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf

nginx.conf(其中http://123.45.678.90:15672 = Droplet B + RabbitMQ 端口)

worker_processes 1;

events {
    worker_connections 1024;
}

http {

    log_format compression '$remote_addr - $remote_user [$time_local] '
    '"$request" $status $upstream_addr '
    '"$http_referer" "$http_user_agent" "$gzip_ratio"';

    server {
        listen 80 default_server;
        server_name www.mydomain.nl mydomain.nl;

        access_log /dev/stdout;

        location /rabbitmq/ {
            proxy_pass http://123.45.678.90:15672/;  
            rewrite ^/rabbitmq$ /rabbitmq/ permanent;
            rewrite ^/rabbitmq/(.*)$ / break;
            proxy_buffering                    off;
            proxy_set_header Host              $http_host;
            proxy_set_header X-Real-IP         $remote_addr;
            proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }


}

myaccount/customrabbitmq

我可以根据要求提供rabbitMQ配置,但我认为目前不是很重要。

两个图像都通过以下 docker-compose.yml:

构建到 Rancher 上的堆栈中
version: '2'

services:
    rabbitmq:
        image: myaccount/customrabbitmq
        ports:
            - 5672:5672
            - 15672:15672
    nginx:
        image: myaccount/customproxy
        ports:
            - 80:80       

which looks like this

现在

当我尝试通过 www.mydomain.nl/rabbitmq 在移动设备上 访问我的 RabbitMQ 管理器时,一切正常。当我尝试对台式机(或笔记本电脑)上的任何浏览器执行相同操作时,没有任何效果。我什至没有看到在 Rancher(nginx 容器)上记录的尝试。我还在禁用 ad-block-plus/Disconnect 的隐身模式 and/or 中尝试了此操作,但无济于事。

这个配置有什么问题?

提前致谢。

好的,我想我设法解决了这个问题。以下一项或两项必须对其执行某些操作:

  • 我在 DigitalOcean droplet 上启用了通过 ipv6 的连接,在 DNS 记录中添加了 ipv6 地址作为 AAAA 记录(对于 www.mydomain.nl 作为 mydomain.nl)域名注册商。我不太了解这个主题,但认为移动设备可能已连接到 ipv4,而台式机试图连接到另一个(设置不正确)。我进入了 firefox ocnfig( 在地址栏 中输入 about:config)并将 network.dns.disableIPv6 设置为 true。这似乎有所帮助。

  • 我等了一天。也许 DNS(正常 A 记录)正确传播需要更长的时间