55 lines
1.3 KiB
Smarty
55 lines
1.3 KiB
Smarty
server {
|
|
listen ${http_port};
|
|
%{ if tls ~}
|
|
listen ${https_port} ssl;
|
|
ssl_certificate /etc/ssl/certs/private/tls.crt;
|
|
ssl_certificate_key /etc/ssl/certs/private/tls.key;
|
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
%{ endif ~}
|
|
server_name ${fqdn};
|
|
# Custom error page for upstream errors
|
|
%{ for e in errors ~}
|
|
error_page ${e} /errors/${e}.html;
|
|
location = /errors/${e}.html {
|
|
root /usr/share/nginx/html;
|
|
internal;
|
|
}
|
|
%{ endfor ~}
|
|
%{ if custom_snippet != "" ~}
|
|
${custom_snippet}
|
|
%{ endif ~}
|
|
%{ if auth ~}
|
|
location = /auth {
|
|
internal;
|
|
proxy_pass http://localhost:5000/;
|
|
proxy_pass_request_body off;
|
|
proxy_set_header Content-Length "";
|
|
proxy_set_header Authorization $http_authorization;
|
|
}
|
|
%{ endif }
|
|
%{ for l in locations ~}
|
|
location ${l.path} {
|
|
%{ if l.resolver == "" ~}
|
|
%{ if resolver != "" ~}
|
|
resolver ${resolver};
|
|
%{ endif ~}
|
|
%{ else ~}
|
|
resolver ${l.resolver};
|
|
%{ endif ~}
|
|
%{ if l.private ~}
|
|
auth_request /auth<;
|
|
%{ endif ~}
|
|
set $upstream "%{ if l.upstream != "" ~}${l.upstream}%{ else ~}${upstream}%{ endif ~}";
|
|
%{ if l.rewrite != "" ~}
|
|
rewrite ${l.rewrite};
|
|
%{ endif ~}
|
|
proxy_pass $upstream;
|
|
proxy_http_version 1.1;
|
|
%{ for k,v in l.headers ~}
|
|
proxy_set_header ${k} ${v};
|
|
%{ endfor ~}
|
|
proxy_intercept_errors on;
|
|
}
|
|
%{ endfor ~}
|
|
}
|