This commit is contained in:
zino
2023-12-05 21:43:35 +01:00
parent 0a545f5ad4
commit 3fea8330b5
3 changed files with 55 additions and 25 deletions

View File

@@ -19,7 +19,38 @@ server {
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; style-src 'self' 'unsafe-inline'; font-src 'self' data:;" always;
#include "snippets/enable-vouch-no-subdomain.conf";
include "snippets/enable-vouch.conf";
#include "snippets/enable-vouch.conf";
# send all requests to the `/validate` endpoint for authorization
auth_request /validate;
location = /validate {
# forward the /validate request to Vouch Proxy
proxy_pass https://validate.vouch.armos.zinomedia.de;
# 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;
}
location / {
resolver 127.0.0.11;

View File

@@ -16,8 +16,6 @@ server {
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
resolver 127.0.0.11;
# location / {
# # forward the /validate request to Vouch Proxy
# proxy_pass http://vouch:9090/validate;
@@ -38,33 +36,33 @@ server {
# # 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;
# 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;
# # 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 "";
# # 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;
# # 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;
}
# # 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;
# 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;
}
# 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 {

View File

@@ -2,6 +2,9 @@
auth_request /validate;
location = /validate {
# forward the /validate request to Vouch Proxy
proxy_pass https://validate.vouch.armos.zinomedia.de:443;
# be sure to pass the original host header
proxy_set_header Host $http_host;
@@ -16,8 +19,6 @@ location = /validate {
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;
proxy_pass https://validate.vouch.armos.zinomedia.de:443;
}
# if validate returns `401 not authorized` then forward the request to the error401block