问题是..。当我在本地启动一个作为npm启动的React时。我没有无线电信号连接失败。
如果我启动NGINX并在Docker容器中响应服务器,我就会经常得到
到'ws://localhost:3000/ws‘的
WebSocketClient.js:16 WebSocket连接失败:
default.conf
upstream client {
server client:3000;
}
upstream api {
server api:5000;
}
server {
listen 80;
location / {
proxy_pass http://client;
}
location /ws {
proxy_pass http://client;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /api {
rewrite /api/(.*) /$1 break;
proxy_pass http://api;
}
}
发布于 2022-01-07 09:00:04
将其添加到.env中:
WDS_SOCKET_PORT=0
有关更多解释和信息,请参见此问题:https://github.com/facebook/create-react-app/issues/11897
发布于 2022-06-06 04:45:13
我也面临着同样的问题。一个简单的解决方法是将nginx实例映射到本地计算机上的端口3000。无论什么时候,您都可以为nginx进行后期映射,将其更改为3000:80。现在,由react应用程序向'ws://localhost:3000/ws‘发出的请求将被批准路由。
发布于 2022-09-17 12:25:27
您可以在没有docker的情况下运行https,也可以使用docker运行http。因此,您应该相应地使用wss和ws。这是我的问题。
https://stackoverflow.com/questions/70585472
复制相似问题