66 lines
2.7 KiB
Plaintext
66 lines
2.7 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.
|
|
#
|
|
# Kopieer dit bestand handmatig naar bijvoorbeeld
|
|
# /etc/nginx/sites-available/slpsoftware-test.conf op de reverse-proxy-Pi,
|
|
# maak een symlink in sites-enabled, en herlaad nginx.
|
|
#
|
|
# SSL-certificaat: net als voor de productiesite wordt dit aangevraagd met
|
|
# certbot (Let's Encrypt) rechtstreeks op deze reverse-proxy-Pi, bijvoorbeeld:
|
|
# 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.
|
|
#
|
|
# Dit is de daadwerkelijk in gebruik zijnde configuratie op de reverse-proxy-Pi,
|
|
# zoals door certbot gegenereerd/beheerd. Het HTTP-server-block onderaan (dat
|
|
# doorverwijst naar HTTPS, behalve voor de ACME-challenge) en de #-commentaren
|
|
# "managed by Certbot" zijn automatisch door certbot toegevoegd/aangepast.
|
|
#
|
|
# 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 {
|
|
|
|
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;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
listen 443 ssl; # managed by Certbot
|
|
listen [::]:443 ssl; # managed by Certbot
|
|
ssl_certificate /etc/letsencrypt/live/test.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
|
ssl_certificate_key /etc/letsencrypt/live/test.slpsoftware.nl/privkey.pem; # managed by Certbot
|
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
|
|
|
}
|
|
|
|
server {
|
|
if ($host = test.slpsoftware.nl) {
|
|
return 301 https://$host$request_uri;
|
|
} # managed by Certbot
|
|
|
|
|
|
listen 80;
|
|
listen [::]:80;
|
|
|
|
server_name test.slpsoftware.nl;
|
|
return 404; # managed by Certbot
|
|
} |