首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NGINX proxy_pass到RabbitMQ管理器仅通过移动设备工作。

NGINX proxy_pass到RabbitMQ管理器仅通过移动设备工作。
EN

Stack Overflow用户
提问于 2018-09-25 20:14:11
回答 1查看 2K关注 0票数 1

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

DigitalOcean上的两个液滴:

  • 装有牧场主服务器的液滴A
  • 作为宿主的液滴B,由牧场主控制。本例中的假设其ip-adress为123.45.678.90

码头枢纽上的两张图片:

  • 我的帐户/定制
  • myaccount/customrabbitmq

myaccount/customnginx

Dockerfile

代码语言:javascript
复制
FROM nginx:latest
COPY nginx.conf /etc/nginx/nginx.conf

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

代码语言:javascript
复制
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/(.*)$ /$1 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上的堆栈中的。

代码语言:javascript
复制
version: '2'

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

看上去像这样

Now

当我试图在移动设备RabbitMQ上通过www.mydomain.nl/rabbitmq 访问我的管理器时,一切都正常工作。当我试图对我的桌面上的任何浏览器(或笔记本电脑)进行同样的操作时,没有任何东西工作。我甚至没有看到登录到Rancher (nginx容器)上的尝试。我也尝试在匿名模式和/或与广告块加/断开连接禁用,但没有任何效果。

这个配置有什么问题?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 18:20:10

好吧,我想我已经修好了。下列任何一种或两种方法都必须对其进行处理:

  • 我启用了通过ipv6在DigitalOcean液滴上的连接,在DNS记录中添加了ipv6入口作为AAAA记录(对于www.mydomain.nl作为mydomain.nl) --与域名注册程序的记录。我对这个问题不太了解,但我认为移动设备可能与ipv4连接,而桌面则试图与另一个连接(设置不正确)。我进入了firefox (在adress中键入约:config),并将network.dns.disableIPv6设置为true。这似乎很有帮助。
  • 我等了一天。也许DNS (普通A-记录)需要更长的时间才能正常传播
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52506029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档