Tengo un pequeño truco que creo que proporcionaría cargas seguras para sitios que requieren inicio de sesión.
Básicamente, configuras Authentication Based on Subrequest Result | NGINX Documentation para las cargas. El único problema es que no puedo encontrar una URL que devuelva un 403/401 cuando la opción de “requiere inicio de sesión” está activada, por lo que acceder a una carga cuando no has iniciado sesión genera un error 500. Esto solo ocurriría si alguien tuviera una URL de carga e intentara acceder a ella sin haber iniciado sesión, así que no parece tan grave.
Es algo así:
# JP
location = /auth {
internal;
proxy_pass http://discourse/categories;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Original-URI $request_uri;
}
# END JP
location ~ ^/uploads/ {
auth_request /auth; #$JP
# NOTA: es realmente molesto que no podamos definir encabezados
# a nivel superior e heredarlos.
#