节点子域的Nginx配置给出502错误

时间:2019-07-28 11:34:25

标签: docker nginx

我正在使用docker映像linuxserver / letsencrypt。

我正在尝试运行带有节点子域的静态网站。

我的nginx配置是:

server {
    listen 80;
    listen [::]:80;
    server_name _;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    listen [::]:443 ssl http2 default_server;

    root /config/www;
    index index.html index.htm index.php;

    server_name dreamingoftech.uk www.dreamingoftech.uk;

    # all ssl related config moved to ssl.conf
    include /config/nginx/ssl.conf;

#   client_max_body_size 0;

#   location / {
#       try_files $uri $uri/ /index.html /index.php?$args =404;
#   }

}
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
#
#   root /config/www;
#   index index.html index.htm index.php;
#
    server_name api.dreamingoftech.uk;
#
    include /config/nginx/ssl.conf;
#
#   include /config/nginx/ldap.conf;
#
#   client_max_body_size 0;
#
    location / {
#       include /config/nginx/proxy.conf;
#       resolver 127.0.0.1 valid=30s;
        proxy_pass http://localhost:4000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
#                proxy_set_header Host api.dreamingoftech.uk;
                proxy_cache_bypass $http_upgrade;
    }

}

在解决问题上,我将提供一些帮助。 我已经将我的应用泊坞窗了,并让它们运行在同一虚拟网络上。

我还可以从服务器卷曲api主页,以便知道它已经启动。

静态站点可以正常运行,但在子域上出现502错误。

2 个答案:

答案 0 :(得分:0)

您必须首先检查http://localhost:4000是否在加载后显示网页。否则,将导致错误。另外,没有配置索引页或根目录,以防nginx无法找到索引页或根目录

答案 1 :(得分:0)

最后弄清楚了。

我必须在docker-compose文件中添加一个网桥。

在NGinX上游配置中,我不得不引用节点应用程序的docker名称而不是localhost