设置非常简单。docker 容器正在运行并监听端口 2283。可以通过服务器浏览器访问 http://localhost:2283
我有以下 nginx 配置:
server {
listen 88;
server_name _;
location /{
proxy_pass http://localhost:2283;
}
}
然后可以通过 http://localhost:88 在同一台服务器上访问 docker 服务
但在同一网络的不同设备上,虽然可以访问,http://<server internal ip>:88
但我无法连接(超时)http://<server internal ip>:2283
。
防火墙 ufw 处于非活动状态,我可以确认 nginx 正在监听端口 88:
tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN
tcp6 0 0 :::88 :::* LISTEN
这是我第一次使用它作为反向代理。我现在很困惑。任何帮助我都感激不尽。
1
最佳答案
1
尝试将 NGINX 明确绑定到服务器的内部 IP 地址,如下所示(为了安全起见,我还在那里添加了 IPv6 监听指令):
server {
listen <server_internal_ip>:88;
listen [::]:88; # For IPv6 support
server_name _;
location / {
proxy_pass http://127.0.0.1:2283;
}
}
除上述内容外,我还将检查 SELinux 模块(如果适用),看它是否通过运行以下命令限制 NGINX 建立传出连接:
sudo setsebool -P httpd_can_network_connect 1
另请检查您的iptables
。
|
–
|