Javascript 设置HMR Create React应用程序在nginx反向代理后运行的最简单配置是什么?
我正在尝试一个始终无法运行默认CRA的反向代理后重新加载热模块。该应用程序工作正常,但HMR不工作,并且出现控制台错误:“webpackHotDevClient.js:60 WebSocket连接到”wss://react.syntapse.co.uk/sockjs-node'失败:建立连接时出错:net::ERR_连接被拒绝' nginx配置Javascript 设置HMR Create React应用程序在nginx反向代理后运行的最简单配置是什么?,javascript,reactjs,create-react-app,Javascript,Reactjs,Create React App,我正在尝试一个始终无法运行默认CRA的反向代理后重新加载热模块。该应用程序工作正常,但HMR不工作,并且出现控制台错误:“webpackHotDevClient.js:60 WebSocket连接到”wss://react.syntapse.co.uk/sockjs-node'失败:建立连接时出错:net::ERR_连接被拒绝' nginx配置 server { listen 80; server_name react.syntapse.co.uk; location /
server {
listen 80;
server_name react.syntapse.co.uk;
location / {
proxy_pass http://0.0.0.0:3120/;
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;
}
location /sockjs-node/ {
proxy_pass http://0.0.0.0:3120/sockjs-node/;
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;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
.env配置:
PORT=3120
控制台错误:
webpackHotDevClient.js:60 WebSocket connection to 'wss://react.syntapse.co.uk/sockjs-node' failed: Error during WebSocket handshake: Unexpected response code: 301
./node_modules/react-dev-utils/webpackHotDevClient.js @ webpackHotDevClient.js:60
webpackHotDevClient.js:76 The development server has disconnected.
Refresh the page if necessary.
wss://react.syntapse.co.uk/sockjs-node 看起来完全正确,所以不确定它为什么会失败
感谢您的帮助或建议。谢谢。WSS协议默认使用端口443,您可能希望使用
ws
而不是WSS
您的配置显示端口80需要ws
。。。您是在nginx内部终止tls,还是希望向下游服务器发送https流量。。。如果您希望使用nginx(https->http)终止tls,那么您需要listen443ssl代码>以及必要的tls密钥和证书文件。。。下游服务器代码通常不提及wss://xxx
或ws://xxx
,而是使用://xxx
自动拾取Hanks Scott和Smakusors。我的设置是docker代理(https)->应用程序代理(http)->应用程序。因此docker代理提供加密,而应用程序代理是http。我想是对接应用程序的标准设置。Docker proxy将https转换为http和应用程序代理,并且应用程序是不安全的。在这种设置中,有没有一种方法可以让ws同样工作?谢谢