WebSocket ws nginx反向代理502错误的网关

时间:2019-03-04 19:58:39

标签: nginx websocket digital-ocean pm2

我知道互联网上许多不同的主题对此很有趣,其中许多都是像我一样开始的,但确实是很难的 我有一个nodejs应用程序,它可以工作2个不同的 1.用于端口3000上的应用程序; 2.用于api。在端口3001上我也在端口3001上使用WebSocket进行某些管理操作,无论如何我在本地环境中都没有任何问题。我将项目部署到Digitalocean的炉排工作环境和如下的Nginx设置

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name 188.166.91.39;
    return 302 https://$188.166.91.39$request_uri;
}

server {
        listen 443 ssl http2 default_server;
        listen [::]:443 ssl http2 default_server;
        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;

        server_name 188.166.91.39;

        gzip              on;
        gzip_comp_level   2;
        gzip_min_length   1024;
        gzip_vary         on;
        gzip_proxied      expired no-cache no-store private auth;
        gzip_types        application/x-javascript application/javascript application/xml application/json text/xml text/css text$

        client_body_timeout 12;
        client_header_timeout 12;
        reset_timedout_connection on;
        send_timeout 10;
        server_tokens off;
        client_max_body_size 50m;

        expires 1y;
        access_log off;
        log_not_found off;
        root /var/www/prtzn/public/content;

        location ~ "^/images/(?<entity>\w+)/(?<id>\w+)/(?<width>[1-9][0-9][0-9]{1}|[1][0-9][0-9][0-9]{1})/(?<file>.+)$" {
                # /images/products/id/100/file.jpg >>> Proxy to internal image resizing server
                proxy_pass http://127.0.0.1:8888/resize/$entity/$id/$width/$file;
                proxy_cache images;
                proxy_cache_valid 200 30d;
        }

        location /assets/ {
                alias /var/www/prtzn/theme/assets/;
        }

        location /sw.js {
                root /var/www/prtzn/theme/assets/;
        }

        location ~ ^/(api|ajax|ws|images)/ {
                # Proxy to NodeJS
                expires off;
                proxy_pass       http://127.0.0.1:3001;
                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_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }

        location / {
                try_files $uri @proxy;
        }

        location @proxy {
                # Proxy to NodeJS
                expires off;
                proxy_pass       http://127.0.0.1:3000;
                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;
        }
}  

我已经遵循了digitalocean的要求,它们非常好,我已经安装了应用程序,但是在我的https前端出现502 Bad Gateway错误。它已尝试连接并想要握手,但无法成功。给这样的错误 wsUrl ..:wss://188.166.91.39

  

app-0c847e67113cfb2f2a2f.js:1 WebSocket连接到   'WSS://188.166.91.39/ws/dashboard令牌= eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzY29wZXMiOlsiYWRtaW4iXSwianRpIjoiNWM2YzUyNDNhY2ZmMzgyZGFhZDZiZGNhIiwiZW1haWwiOiJoYW1pdC55aWxkaXJpbS41ODM0QGdtYWlsLmNvbSIsImlhdCI6MTU1MTA0NzI5MiwiZXhwIjoxNTUxMzA2NDkyfQ.AQ96n9cT0Ntab3GqYT-bFbhRlAyZj3tL53K9QjzEonM'   失败:建立连接错误:net :: ERR_CONNECTION_REFUSED

也许对您来说这将变得非常简单易懂,但是我对这种类型的作品并不十分了解,我无法理解是从微弱的令牌或nginx配置中采购还是有其他缺失的配置

1 个答案:

答案 0 :(得分:0)

我的应用程序以pm2运行,然后在进行了一些研究后我不希望使用pm2命令记录日志,我注意到我的Web api不能正常运行,而该命令无法看到

npm start process.json

因为我的2个应用程序似乎可以正常工作并且在线,但是其中之一没有使用任何内存,因此在注意到我尝试过

之后

收件人:     npm start

,我在那里看到了其他错误。我修理了地雷。真正的错误是后端服务未运行或没有响应