NGINX proxy_pass to RabbitMQ manager работает только через мобильное устройство

Я столкнулся с очень специфической проблемой с моей настройкой NGINX/RabbitMQ, в которой желаемый результат доступен только через мобильное устройство. Я надеюсь, что есть кто-то, кто сможет пролить свет на то, что я делаю неправильно:). У меня есть следующие настройки:

Две капли на DigitalOcean:

  • Капля А с установленным на ней сервером ранчера
  • Капелька B, действующая как хозяин, контролируется владельцем ранчо. в этом примере предположим, что его ip-адрес равен 123.45.678.90

Два изображения на докер-хабе:

  • MyAccount/customnginx
  • MyAccount/customrabbitmq

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/(.*)$ /$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 по запросу, но я не думаю, что она сейчас имеет большое значение.

Оба изображения встроены в стек на Rancher через следующий docker-compose.yml:

version: '2'

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

который выглядит так

Сейчас

Когда я пытаюсь получить доступ к своему менеджеру RabbitMQ через мобильное устройство www.mydomain.nl/rabbitmq, все работает правильно. Когда я пытаюсь сделать то же самое с любым браузером на моем рабочем столе (или ноутбуком), ничего не получается. Я даже не вижу попытки войти в Rancher (контейнер nginx). Я также пробовал это в режиме инкогнито и / или с отключенным ad-block-plus/Disconnect, но безрезультатно.

Что не так с этой конфигурацией?

Заранее спасибо.

1 ответ

Решение

Хорошо, я думаю, что мне удалось это исправить. Любое или оба из следующего должны были сделать что-то с этим:

  • Я включил соединение через ipv6 на дроплете DigitalOcean, добавил адрес ipv6 как запись AAAA (для обоих www.mydomain.nl как mydomain.nl) в DNS-записи с регистратором домена. Я не знаю много об этом предмете, но думал, что мобильное устройство могло соединиться с ipv4, в то время как настольный компьютер пытался соединиться с другим (который не был настроен должным образом). Я вошел в firefox ocnfig (введите about:config в адресной строке) и установил для network.dns.disableIPv6 значение true. Это, казалось, помогло.

  • Я ждал день. Возможно, для правильного распространения DNS (обычных A-записей) потребовалось немного больше времени

Другие вопросы по тегам