我使用nginx作为django的反向代理,并使用配置进行反应
worker_processes 1;
events {
worker_connections 1024;
}
http{
server{
include mime.types;
default_type application/octet-stream;
keepalive_timeout 240;
sendfile on;
listen 8001;
server_name 127.0.0.1;
location /{
proxy_pass http://localhost:3000;
}
location /backend {
proxy_pass http://127.0.0.1:8000;
}
}
}它工作得很好,但我想转发用于react热加载的websocket。在谷歌了很多次之后,我仍然没有解决的办法。目前它有连接错误,因为从chrome控制台
WebSocket connection to 'ws://127.0.0.1:8001/sockjs-node' failed: Error during WebSocket handshake: Unexpected response code: 404发布于 2020-12-26 01:38:00
由于http指令,我认为它不会支持转发WebSocket代理,但在谷歌上花了更多的时间。我知道http是在初始握手之后升级到Websocket的,所以最后的解决方案在这里。
它作为Django的转发代理作为后端,react作为前端。所以我可以通过CORS问题,由于服务器是在不同的IP和它的不安全,所以设置头不支持太多的cookie共享
worker_processes 1;
events {
worker_connections 1024;
}
http{
client_max_body_size 100M;
server{
include mime.types;
default_type application/octet-stream;
keepalive_timeout 240;
sendfile on;
listen 8001;
server_name 127.0.0.1;
location /{
proxy_pass http://localhost:3000;
}
location /backend {
proxy_pass http://127.0.0.1:8000;
}
location /sockjs-node {
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;
}
}
}https://stackoverflow.com/questions/65324178
复制相似问题