3. Detrás de un proxy

Para que nuestra aplicación funcione detrás de nginx debemos crear un archivo con las instrucciones para el proxy reverso. Para que Flask funcione correctamente detrás de un proxy se necesitan las instrucciones proxy_set_header.

# branch CRUDb
# docker/swag/nginx/proxy-confs/crud.subfolder.conf 

location /crud {
    return 301 $scheme://$host:10000/crud/;
}

location ^~ /crud/ {
    include /config/nginx/proxy.conf;
    include /config/nginx/resolver.conf;

    set $upstream_crud crud;
    set $upstream_port 8000;
    set $upstream_proto http;
    proxy_pass http://$upstream_crud:$upstream_port ;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Prefix /crud;

    rewrite /crud(.*) $1 break;
}
Además debemos aplicar el parche proxyfix a nuestra aplicación.

# crud.py