Hallo zusammen,
ich habe seit einigen Jahren den in DSM eingebauten NGINX am laufen und drei Subdomains angelegt.
Nun soll eine vierte dazu kommen, aber hier soll es so sein, dass NGINX nur weiterleitet, wenn eine ganz spezifische URL aufgerufen wird:
https://beispiel.meinedomain.net/beispiel1/beispiel2/
Beim Aufruf der Hauptdomain https://beispiel.meinedomain.net soll keine Antwort bzw. ein entsprechender Fehler kommen.
Ich weiß, dass der NGINX das kann, nicht aber über die GUI von DSM.
Habe mal ChatGPT bemüht und bekomme dann folgende Konfiguration raus, die man eben im /sites-enabled/ Ordner ablegen muss:
Die Frage ist jetzt nur, wie ich hier zu den Zertikaten verweise, die ich ja über die GUI von DSM abrufe. Bzw. wo diese genau liegen.
Kann hier jemand helfen?
EDIT:
Ok habe es gelöst:
Die Zertifikate liegen im Ordner /usr/syno/etc/certificate/_archive
Im Ordner _archive sind alle drin, diesen Ordner konnte ich aber nicht öffnen "Permission denied"
Also mit sudo -s eine Shell mit erhöhten Rechten starten.
Im Ordner _archive waren dann vier Zertifikate drin (gelb markiert)
Im jeweiligen Ordner kann man dann mit ls -l das Änderungsdatum der Dateien anzeigen lassen
Wenn man also zuvor das zu nutzende Zertifikat erneuert, kann man es über das aktuelle Änderungsdatum schnell ausfindig machen.
Die korrekte Konfigurationszeile lautet dann bei mir so und in der GUI benötigt es dann überhaupt keinen Eintrag zu dieser Domain:
ich habe seit einigen Jahren den in DSM eingebauten NGINX am laufen und drei Subdomains angelegt.
Nun soll eine vierte dazu kommen, aber hier soll es so sein, dass NGINX nur weiterleitet, wenn eine ganz spezifische URL aufgerufen wird:
https://beispiel.meinedomain.net/beispiel1/beispiel2/
Beim Aufruf der Hauptdomain https://beispiel.meinedomain.net soll keine Antwort bzw. ein entsprechender Fehler kommen.
Ich weiß, dass der NGINX das kann, nicht aber über die GUI von DSM.
Habe mal ChatGPT bemüht und bekomme dann folgende Konfiguration raus, die man eben im /sites-enabled/ Ordner ablegen muss:
Code:
server {
listen 443 ssl;
server_name beispiel.meinedomain.net;
ssl_certificate /path/to/your/ssl/certificate.crt;
ssl_certificate_key /path/to/your/ssl/certificate.key;
# SSL-Einstellungen (optional, aber empfohlen)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
# Nur die spezifische URL erlauben
location = /api/car/1/logging/resume {
proxy_pass http://localhost:20002;
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;
}
# Alle anderen Anfragen blocken
location / {
return 403;
}
}
Die Frage ist jetzt nur, wie ich hier zu den Zertikaten verweise, die ich ja über die GUI von DSM abrufe. Bzw. wo diese genau liegen.
Kann hier jemand helfen?
EDIT:
Ok habe es gelöst:
Die Zertifikate liegen im Ordner /usr/syno/etc/certificate/_archive
Im Ordner _archive sind alle drin, diesen Ordner konnte ich aber nicht öffnen "Permission denied"
Also mit sudo -s eine Shell mit erhöhten Rechten starten.
Im Ordner _archive waren dann vier Zertifikate drin (gelb markiert)
Im jeweiligen Ordner kann man dann mit ls -l das Änderungsdatum der Dateien anzeigen lassen
Wenn man also zuvor das zu nutzende Zertifikat erneuert, kann man es über das aktuelle Änderungsdatum schnell ausfindig machen.
Die korrekte Konfigurationszeile lautet dann bei mir so und in der GUI benötigt es dann überhaupt keinen Eintrag zu dieser Domain:
Code:
server {
listen 443 ssl;
server_name beispiel.meinedomain.net;
ssl_certificate /usr/syno/_archive/WTlG8m/ECC-fullchain.pem;
ssl_certificate_key /usr/syno/_archive/WTlG8m/ECC-privkey.pem;
# SSL-Einstellungen (optional, aber empfohlen)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
# Nur die spezifische URL erlauben
location = /api/car/1/logging/resume {
proxy_pass http://localhost:20002;
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;
}
# Alle anderen Anfragen blocken
location / {
return 403;
}
}
Zuletzt bearbeitet: