Cómo usar SSL en todas partes excepto en un punto final

Cómo usar SSL en todas partes excepto en un punto final

Tengo un sitio web donde quiero que todas las solicitudes se realicen con HTTPS, excepto las solicitudes a URL con rutas que comienzan con /out/.

nginx está configurado como proxy para servir contenido gunicorn/django desdehttp://127.0.0.1:8000.

Aquí está la configuración que tengo hasta ahora, pero parece que no usa SSL en ninguna parte.

server {

listen 80;
listen 443 default ssl;
server_name my.website.com;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;

root /home/ubuntu/app;
client_max_body_size 1m;
access_log /home/ubuntu/app/logs/access.log;
error_log /home/ubuntu/app/logs/error.log;

location ~ ^/(out|out/.*)$ {
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    if (!-f $request_filename) {
        proxy_pass http://127.0.0.1:8000;
        break;
    }
}

location / {
    proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    if (!-f $request_filename) {
        proxy_pass http://127.0.0.1:8000;
        break;
    }
    if ($ssl_protocol = "") {
           rewrite  ^ https://$server_name$request_uri? permanent;
    }
}
}

información relacionada