我的NGINX / RabbitMQ设置遇到一个非常具体的问题,其中只能通过移动设备获得所需的结果。我希望有人可以照亮我在做错的事情:)。我有以下设置:
DigitalOcean上有两个液滴:
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/(.*)$ /$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上的堆栈中:
version: '2'
services:
rabbitmq:
image: myaccount/customrabbitmq
ports:
- 5672:5672
- 15672:15672
nginx:
image: myaccount/customproxy
ports:
- 80:80
现在
当我尝试通过移动设备上的www.mydomain.nl/rabbitmq 访问我的RabbitMQ管理器时,一切正常。当我尝试对台式机(或笔记本电脑)上的任何浏览器执行相同操作时,没有任何效果。我什至没有看到尝试登录到Rancher(nginx容器)上。我也以隐身模式和/或禁用了ad-block-plus / Disconnect尝试了此操作,但无济于事。
此配置有什么问题?
谢谢。
答案 0 :(得分:0)
好的,我想我已经解决了这个问题。以下两者之一或两者必须做一些事:
我在DigitalOcean Droplet上启用了通过ipv6的连接,并在域名注册机构的DNS记录中添加了ipv6地址作为AAAA记录(对于www.mydomain.nl作为mydomain.nl)。我对此主题了解不多,但认为移动设备可能已与ipv4连接,而台式机则尝试与其他设备连接(未正确设置)。我进入了firefox ocnfig(地址栏中的 type about:config 类型),并将network.dns.disableIPv6设置为true。这似乎有帮助。
我等了一天。 DNS(正常的A记录)可能需要花费更长的时间才能正确传播