Nginx HTTPS inklusive Client Zertifikat: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 1: | Zeile 1: | ||
=nginx: HTTPS-VirtualHost für lila.it113.int unter Rocky Linux= | =nginx: HTTPS-VirtualHost für lila.it113.int unter Rocky Linux= | ||
| + | ==Vorbereitung der Seite== | ||
| + | ;Verzeichnis für Inhalte anlegen | ||
| + | *mkdir -p /var/www/lila | ||
| + | |||
| + | ;Script zum Erzeugen der Startseite herunterladen (außerhalb des DocumentRoot) | ||
| + | *cd /root | ||
| + | *wget https://xinux.de/downloads/html/webgen.sh | ||
| + | *chmod +x webgen.sh | ||
| + | |||
| + | ;Startseite erzeugen | ||
| + | *./webgen.sh lila > /var/www/lila/index.html | ||
| + | ==Fehleranalyse== | ||
| + | |||
| + | Falls der Zugriff auf die Seite weiterhin blockiert wird, prüfe SELinux und stelle sicher, dass der korrekte Sicherheitskontext gesetzt ist: | ||
| + | |||
| + | ;Kontext setzen | ||
| + | *chcon -Rt httpd_sys_content_t /var/www/lila | ||
| + | |||
| + | ;nginx neu laden | ||
| + | *systemctl reload nginx | ||
| + | |||
| + | ;SELinux-Probleme analysieren | ||
| + | *ausearch -m avc -ts recent | ||
| + | |||
==Konfiguration erstellen== | ==Konfiguration erstellen== | ||
| Zeile 36: | Zeile 60: | ||
</pre> | </pre> | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
==Erstellung einer CSR für den Client== | ==Erstellung einer CSR für den Client== | ||
Version vom 26. März 2025, 17:15 Uhr
nginx: HTTPS-VirtualHost für lila.it113.int unter Rocky Linux
Vorbereitung der Seite
- Verzeichnis für Inhalte anlegen
- mkdir -p /var/www/lila
- Script zum Erzeugen der Startseite herunterladen (außerhalb des DocumentRoot)
- cd /root
- wget https://xinux.de/downloads/html/webgen.sh
- chmod +x webgen.sh
- Startseite erzeugen
- ./webgen.sh lila > /var/www/lila/index.html
Fehleranalyse
Falls der Zugriff auf die Seite weiterhin blockiert wird, prüfe SELinux und stelle sicher, dass der korrekte Sicherheitskontext gesetzt ist:
- Kontext setzen
- chcon -Rt httpd_sys_content_t /var/www/lila
- nginx neu laden
- systemctl reload nginx
- SELinux-Probleme analysieren
- ausearch -m avc -ts recent
Konfiguration erstellen
Die folgende Konfiguration wird als Datei gespeichert unter:
- vi /etc/nginx/conf.d/lila.it113.int.conf
server {
listen 80;
listen [::]:80;
server_name lila.it113.int;
# HTTP auf HTTPS weiterleiten
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name lila.it113.int;
root /var/www/lila;
index index.html index.htm;
ssl_certificate /etc/nginx/ssl/lila.it113.int.crt;
ssl_certificate_key /etc/nginx/ssl/lila.it113.int.key;
location / {
try_files $uri $uri/ =404;
}
}
Erstellung einer CSR für den Client
Um ein **client.csr** zu erstellen, geh wie folgt vor:
- Erstelle den privaten Schlüssel und die CSR für den Client
- openssl req -new -nodes -newkey rsa:2048 -keyout /etc/nginx/csr/client.lila.it113.int.key -out /etc/nginx/csr/client.lila.it113.int.csr -subj "/CN=client.lila.it113.int"
Signierung der CSR
Die CSR kann nun von einer CA signiert werden. Wenn du **Let’s Encrypt** oder eine interne **CA** verwendest, geh wie folgt vor:
- Für Let’s Encrypt (mit certbot) eine Zertifikatsanforderung stellen
- certbot certonly --nginx -d client.lila.it113.int
- Alternativ, wenn du eine interne CA hast, signiere die CSR
- openssl ca -in /etc/nginx/csr/client.lila.it113.int.csr -out /etc/nginx/ssl/client.lila.it113.int.crt
nginx neu starten
Nachdem du die Konfiguration angepasst hast, starte nginx neu, um die Änderungen zu übernehmen:
- nginx neu starten
- systemctl restart nginx