Docker Web 应用程序的 Nginx 配置

Docker Web 应用程序的 Nginx 配置

我正在配置 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容器,并且它非常容易配置。

相关内容