![Docker Web 应用程序的 Nginx 配置](https://linux22.com/image/783655/Docker%20Web%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%20Nginx%20%E9%85%8D%E7%BD%AE.png)
我正在配置 Nginx(不在 docker 中)以重定向 localhost:9333 上的 Web 服务提供商(它们位于两个 docker 容器中)。我可以通过 ssh 访问服务,但在 Web 浏览器上使用域名时(我可以使用域名 ping 并连接到正确的 IP),浏览器显示“连接超时”。
nginx error.log 显示:“...[通知] 175385#175385:信号进程已启动”。我没有根文件,我只做了一个proxy_pass。
非常感谢你的帮助!
我的 nginx 配置如下:'''服务器{
listen 80;
listen [::]:80;
server_name xxxx.xxx.xx.xx;
server_name_in_redirect off;
client_max_body_size 200m;
error_page 502 503 504 = @maintenance;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/nginx/ssl/my_server.crt;
ssl_certificate_key /etc/nginx/ssl/my.server.key;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
proxy_set_header Host $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;
proxy_pass http://127.0.0.1:9333/;
sub_filter 'href="http://127.0.0.1:9333/' 'href="https://$host/';
}
location @maintenance {
expires 0;
add_header Pragma "no-cache";
add_header Cache-Control "no-cache, no-store, must-revalidate";
try_files $uri /50x.html =502;
}
'''
答案1
某些信息将有助于您所使用的发行版,例如,如果您在应用程序容器端有任何错误日志,或者您正在使用云提供商等。
我建议使用 netcat 或 telnet 检查端口是否可访问,如果不可访问,则检查云提供商控制台中的网络连接中的安全组(可以设置为仅允许 ssh)。此外,Nginx 代理管理器容器可能是一个不错的解决方案https://nginxproxymanager.com/。您可以将其安装为docker容器,并且它非常容易配置。