http - deploy - gunicorn flask
HTTPS no deseado-> HTTP redirige con la aplicaciĆ³n nginx+uwsgi+flask (1)
uwsgi necesita que se le pase el esquema (http o https) que se utiliza para atender la solicitud para escribir el encabezado de ubicación correcto.
De manera predeterminada, un conjunto de configuraciones se establecen en el /etc/nginx/uwsgi_params
. Los include uwsgi_params;
línea en el archivo de configuración es lo que cargan estos.
Sin embargo, por cualquier motivo, el esquema no es uno de estos ajustes predeterminados. Esto se puede arreglar agregando:
uwsgi_param UWSGI_SCHEME $scheme;
a la configuración nginx después de include uwsgi_params;
línea, o agregándolo directamente al archivo /etc/nginx/uwsgi_params
.
Tengo una aplicación de matraz , organizada por uwsgi , con nginx como proxy inverso a uwsgi, utilizando el módulo de proxy uwsgi incorporado . Cada vez que visito una página que redirige a otra página, el encabezado de la ubicación apunta a una URL que no es HTTPS. Por ejemplo:
$ socat openssl:my-web-server:443 stdio
GET / HTTP/1.0
Host: my-web-server
HTTP/1.1 302 FOUND
Server: nginx/1.0.4
[...]
Location: http://my-web-server/login
Mi configuración nginx se ve así:
server {
listen 80;
listen 443 ssl;
server_name my-web-server;
charset utf-8;
ssl_certificate /etc/nginx/certs/server.pem;
ssl_certificate_key /etc/nginx/certs/server.key;
location / {
uwsgi_pass unix:/tmp/uwsgi.sock;
include uwsgi_params;
}
}