Files
kbcrm/NGINX_Server/configtemplates/kbp_crm.conf.template
T

38 lines
1.5 KiB
Plaintext

ssl_certificate /etc/certs/${NGINX_CERT};
ssl_certificate_key /etc/certs/${NGINX_CERT_KEY};
# Zunächst wird ein Default-Server definiert.
# Das Standardverhalten von NGINX ist nämlich wie folgt:
# Wenn im Request ein Server-Name reinkommt und NGINX keinen Server-Block findet, in dem dieser
# Servername definiert wird, wird einfach der erste definierte Serverblock genommen.
# Dadurch, dass ein expliziter Default-Server definiert wird, wird dieser verwendet.
# Falls jetzt also ein Servername übergeben wird, den es nicht gibt, gibt NGINX den Error-Code 404 zurück
server {
listen 4430 ssl default_server;
return 404;
}
server {
listen 4430 ssl;
server_name ${NGINX_SERVER_NAME};
resolver 127.0.0.11 valid=30s; # notwendig, damit der Upstream (s.u.) nicht direkt den nginx-Server stoppt, falls pythonapp noch nicht soweit ist
# https://sandro-keil.de/blog/let-nginx-start-if-upstream-host-is-unavailable-or-down/
location /static {
root /usr/share/nginx/html;
}
location / {
# Variable muss benutzt werden (s.o. bei resolver Direktive)
set $upstream pythonapp:8080;
proxy_pass http://$upstream;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /health-check {
add_header Content-Type text/plain;
return 200 "success $time_iso8601";
}
}