upstream keycloak_backend { #k8s pod server keycloak.keycloak.svc:8080; server 1.1.1.1 backup; } server { server_name keycloak.tryton.geeraert.eu www.keycloak.tryton.geeraert.eu; location / { proxy_pass http://keycloak_backend; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port 443; #proxy_set_header Upgrade $http_upgrade; #proxy_http_version 1.1; } location /.well-known/acme-challenge/ { root /var/www/certbot; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/nginx/ssl/live/tryton.geeraert.eu/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/live/tryton.geeraert.eu/privkey.pem; #add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval' *.youtube.com maps.gstatic.com *.googleapis.com *.google-analytics.com cdnjs.cloudflare.com assets.zendesk.com connect.facebook.net; frame-src 'self' *.youtube.com assets.zendesk.com *.facebook.com s-static.ak.facebook.com tautt.zendesk.com; object-src 'self'"; set_real_ip_from 0.0.0.0/0; real_ip_header X-Real-IP; real_ip_recursive on; } server { if ($host = www.keycloak.tryton.geeraert.eu) { return 301 https://$host$request_uri; } # managed by Certbot if ($host = keycloak.tryton.geeraert.eu) { return 301 https://$host$request_uri; } # managed by Certbot server_name www.keycloak.tryton.geeraert.eu keycloak.tryton.geeraert.eu; listen 80; return 404; # managed by Certbot }