2017-09-11 76 views
0

我使用node.js + express編寫後端,並使用express-ws dependency。express-ws在部署到VPS服務器時不處理呼叫

本地一切工作就像它應該。此前它被部署到紅帽開門班,也沒有任何問題。昨天我買了VPS配置並部署在那裏。除了websockets,一切都可以使用。

我有有在配置下一行相關的服務器啓用SSL nginx的

server { 
    listen  ipaddresshere:80 default; 
    server_name _; 

    location/{ 
     proxy_pass http://ipaddresshere:8080; 
    } 

    location /ws { 
     proxy_pass http://ipaddresshere:8080; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection "upgrade"; 

    } 
} 

我有其他配置的地方,但他們被VestaCP產生和https://certbot.eff.org/

我知道,請求到/ ws路由即將到達node.js應用程序(我正在記錄它)。不過,這並不去那個處理器

app.ws('/ws', SocketsHandler.registerWs); 

在它與我的最後一個處理程序相匹配的結尾,並返回404

app.get('*', ErrorHandler.notFound); 

的問題是:這是一個什麼是WS庫不工作VPS的環境,但我沒有看到控制檯中的任何錯誤...?

P.S. Localy我運行的應用程序沒有SSL和nginx

wsServer.on('connection', function (socket) {...}) 
+0

本地它可以與Nginx一起使用嗎? –

+0

他說它已經@TarunLalwani – turmuka

+0

您是否已將套接字網址從'ws://'更改爲'wss://'? –

回答

0

我發現我的配置被其他文件覆蓋。因此,而不是連接「升級」;服務器正在接收連接「關閉」..