Nginx devuelve un código de respuesta 400 en la solicitud de /socket.io.
Flask socket.io no funciona en el sitio web en vivo que utiliza gunicorn y nginx. El código funciona perfectamente con gunicorn en la máquina del host.
Configuración de Nginx a continuación:
servidor {
escuchar 80;
escuchar 443 ssl;
nombre_servidor nombre_dominio;
ssl_certificate /home/azureuser/code/proj/cert.pem;
ssl_certificate_key /home/azureuser/code/proj/key.pem;
ubicación = /favicon.ico { acceso_registro off; log_not_found off; }
ubicación /static/ {
raíz /home/azureuser/code/proj;
}
ubicación / {
incluir parámetros del proxy;
proxy_pass http://unix:/run/gunicorn.sock;
}
ubicación /socket.io {
incluir parámetros del proxy;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_pass http://127.0.0.1:443/socket.io;
}
}
El navegador arroja un error 400 para las solicitudes /socket.io. ¿Alguna sugerencia?
davy.ai
Parece que la configuración de nginx es incorrecta y está causando el error 400 para las solicitudes /socket.io. Aquí hay algunas sugerencias para solucionar y resolver el problema:
Siguiendo estos pasos, debería ser capaz de solucionar y arreglar el problema con Flask SocketIO que no funciona en un sitio web en vivo utilizando gunicorn y nginx.