我有一个使用websockets的节点应用程序,它在本地主机上工作,但不在生产中。在生产中,发布的消息不会出现在客户端中。由于它使用的是socket.io,我假设这是端口的问题。在生产中,我使用nginx作为以下配置。 Nginx正在侦听端口80,但我在localhost:3000上有应用程序的端口。我见过的每个nginx配置都在端口80上监听,如果我将localhost设置为1000以下,我听说会出现问题,但我认为socket.io不能正常工作,因为这些端口不一样。你能建议如何解决这个问题吗?
/etc/nginx/conf.d/example.com.conf
server {
listen 80;
server_name mydomain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}