Continuous Integration / config (pull_request) Successful in 10s
Continuous Integration / prepare (pull_request) Successful in 1m13s
Continuous Integration / build (pull_request) Successful in 2m2s
Continuous Integration / test (pull_request) Successful in 1m51s
Continuous Integration / deploy-test (pull_request) Skipped
De reverse-proxy en analytics nginx-configs toonden al de door certbot beheerde eindstaat (met SSL-directives), terwijl je die juist nodig hebt vóórdat certbot draait. Nu is het .example-bestand de kale HTTP-versie om te kopiëren, met een apart .post-certbot.example ter referentie voor de staat erna. Alle configs (inclusief webserver-nginx.conf.example) hebben nu ook expliciete error_log/ access_log directives.
66 lines
3.1 KiB
Plaintext
66 lines
3.1 KiB
Plaintext
# Voorbeeldconfiguratie voor de nginx reverse proxy op de andere Raspberry Pi
|
|
# (degene die wél vanaf het internet bereikbaar is en het binnenkomende verkeer
|
|
# doorstuurt naar de webserver-Pi op 192.168.1.103:80) — voor de TESTOMGEVING,
|
|
# bereikbaar via het domein test.slpsoftware.nl.
|
|
#
|
|
# Dit is de versie die je gebruikt VOORDAT certbot gedraaid heeft: alleen
|
|
# poort 80, geen SSL. Certbot heeft dit HTTP-server-block namelijk nodig om
|
|
# de ACME-challenge te kunnen afhandelen en zal, zodra je hem draait, dit
|
|
# bestand zelf herschrijven om er de HTTPS-configuratie en de HTTP→HTTPS-
|
|
# redirect aan toe te voegen. Zie reverse-proxy-nginx.conf.post-certbot.example
|
|
# voor hoe het bestand er na die stap uit gaat zien (puur ter referentie —
|
|
# dat bestand hoef je niet zelf te kopiëren, certbot genereert het).
|
|
#
|
|
# Kopieer dit bestand handmatig naar
|
|
# /etc/nginx/sites-available/slpsoftware-test.conf op de reverse-proxy-Pi,
|
|
# maak een symlink in sites-enabled, herlaad nginx, en draai dan pas certbot:
|
|
# sudo certbot --nginx -d test.slpsoftware.nl
|
|
# Zorg dat het DNS-record voor test.slpsoftware.nl al naar het publieke IP van
|
|
# deze Pi wijst voordat je certbot draait.
|
|
#
|
|
# LET OP - gevonden foutje: de header hieronder heet `X-Real-IP` (met
|
|
# koppelteken), niet `X-Real_IP` (met underscore). Een header met een
|
|
# underscore is geen geldige/herkenbare naam voor de standaard `$http_x_real_ip`-
|
|
# achtige verwerking; nginx stuurt de header wel door zoals opgegeven, maar
|
|
# de ontvangende applicatie/module verwacht het koppelteken-formaat. Corrigeer
|
|
# dit op de Pi zelf naar `X-Real-IP` zodra je de config daar aanpast.
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
|
|
server_name test.slpsoftware.nl;
|
|
|
|
error_log /var/log/nginx/slpsoftware-test_error.log;
|
|
access_log /var/log/nginx/slpsoftware-test_access.log;
|
|
|
|
location /.well-known/acme-challenge/ {
|
|
root /var/www/certbot;
|
|
}
|
|
|
|
# Sentry "tunnel" endpoint (see src/main.tsx's Sentry.init tunnel option).
|
|
# Browser ad-blockers/privacy extensions commonly block requests that go
|
|
# straight to *.ingest.<region>.sentry.io (ERR_BLOCKED_BY_CLIENT), since
|
|
# that looks like third-party tracking. By forwarding this path server-side
|
|
# to Sentry instead, the browser only ever talks to our own domain
|
|
# (test.slpsoftware.nl), so it is no longer recognized/blocked as
|
|
# third-party tracking.
|
|
#
|
|
# LET OP: de org-/project-id in de proxy_pass hieronder MOET overeenkomen
|
|
# met de VITE_SENTRY_DSN die voor DEZE omgeving is ingesteld (de
|
|
# `VITE_SENTRY_DSN` Gitea repository variable voor de testomgeving). Pas
|
|
# dit aan als je ooit van Sentry-project/DSN wisselt.
|
|
location /sentry-tunnel {
|
|
proxy_pass https://o4511795618185216.ingest.de.sentry.io/api/4511795622838352/envelope/;
|
|
proxy_set_header Host o4511795618185216.ingest.de.sentry.io;
|
|
proxy_ssl_server_name on;
|
|
}
|
|
|
|
location / {
|
|
proxy_pass http://192.168.1.103:80;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
}
|
|
}
|