Files
docker-nginx/volumes/conf.d/validate.vouch.armos.zinomedia.de.conf
zino 7e93776892 m
2023-12-05 21:39:26 +01:00

77 lines
2.7 KiB
Plaintext

server {
listen 443 ssl;
listen [::]:443 ssl;
server_name validate.vouch.armos.zinomedia.de;
access_log off;
error_log /var/log/nginx/error.log error;
ssl_certificate /etc/letsencrypt/live/validate.vouch.armos.zinomedia.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/validate.vouch.armos.zinomedia.de/privkey.pem;
# SSL Optimizations
ssl_protocols TLSv1.2 TLSv1.3;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# location / {
# # forward the /validate request to Vouch Proxy
# proxy_pass http://vouch:9090/validate;
# # # be sure to pass the original host header
# # proxy_set_header Host $http_host;
# # # Vouch Proxy only acts on the request headers
# # proxy_pass_request_body off;
# # proxy_set_header Content-Length "";
# # # optionally add X-Vouch-User as returned by Vouch Proxy along with the request
# # auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
# # # these return values are used by the @error401 call
# # auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt;
# # auth_request_set $auth_resp_err $upstream_http_x_vouch_err;
# # auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount;
# }
location = /validate {
# forward the /validate request to Vouch Proxy
proxy_pass http://vouch:9090/validate;
# be sure to pass the original host header
proxy_set_header Host $http_host;
# Vouch Proxy only acts on the request headers
proxy_pass_request_body off;
proxy_set_header Content-Length "";
# optionally add X-Vouch-User as returned by Vouch Proxy along with the request
auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
# these return values are used by the @error401 call
auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt;
auth_request_set $auth_resp_err $upstream_http_x_vouch_err;
auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount;
}
# if validate returns `401 not authorized` then forward the request to the error401block
error_page 401 = @error401;
location @error401 {
# redirect to Vouch Proxy for login
return 302 https://vouch.armos.zinomedia.de/login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err;
}
}
server {
listen 80;
listen [::]:80;
server_name validate.vouch.armos.zinomedia.de;
return 301 https://$host$request_uri;
}