Nginx HTTPS Virtueller Host: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 2: | Zeile 2: | ||
==Firewall konfigurieren== | ==Firewall konfigurieren== | ||
| − | |||
;HTTPS (Port 443) freigeben | ;HTTPS (Port 443) freigeben | ||
*firewall-cmd --permanent --add-service=https | *firewall-cmd --permanent --add-service=https | ||
| − | |||
;HTTP (Port 80) freigeben – z. B. für Weiterleitungen | ;HTTP (Port 80) freigeben – z. B. für Weiterleitungen | ||
*firewall-cmd --permanent --add-service=http | *firewall-cmd --permanent --add-service=http | ||
| − | |||
;Firewall neu laden | ;Firewall neu laden | ||
*firewall-cmd --reload | *firewall-cmd --reload | ||
| − | |||
;Aktive Regeln anzeigen | ;Aktive Regeln anzeigen | ||
*firewall-cmd --list-all | *firewall-cmd --list-all | ||
| − | + | ==SELinux: Zugriff auf Webverzeichnisse freischalten== | |
| + | Standardmäßig sind manuell angelegte Verzeichnisse wie /var/www/braun durch SELinux blockiert. | ||
| + | Damit nginx darauf zugreifen darf, muss der richtige SELinux-Kontext gesetzt werden. | ||
| + | ;Zugriff erlauben | ||
| + | *chcon -Rt httpd_sys_content_t /var/www/braun | ||
| + | ;nginx neu laden | ||
| + | *systemctl reload nginx | ||
| + | ;Kontext prüfen | ||
| + | *ls -Zd /var/www/braun | ||
| + | ==Fehleranalyse== | ||
| + | ;Letzte SELinux-Blockaden anzeigen | ||
| + | *ausearch -m avc -ts recent | ||
==Konfigurationsdatei anlegen== | ==Konfigurationsdatei anlegen== | ||
Version vom 26. März 2025, 16:54 Uhr
nginx: HTTPS-VirtualHost für braun.it113.int unter Rocky Linux
Firewall konfigurieren
- HTTPS (Port 443) freigeben
- firewall-cmd --permanent --add-service=https
- HTTP (Port 80) freigeben – z. B. für Weiterleitungen
- firewall-cmd --permanent --add-service=http
- Firewall neu laden
- firewall-cmd --reload
- Aktive Regeln anzeigen
- firewall-cmd --list-all
SELinux: Zugriff auf Webverzeichnisse freischalten
Standardmäßig sind manuell angelegte Verzeichnisse wie /var/www/braun durch SELinux blockiert. Damit nginx darauf zugreifen darf, muss der richtige SELinux-Kontext gesetzt werden.
- Zugriff erlauben
- chcon -Rt httpd_sys_content_t /var/www/braun
- nginx neu laden
- systemctl reload nginx
- Kontext prüfen
- ls -Zd /var/www/braun
Fehleranalyse
- Letzte SELinux-Blockaden anzeigen
- ausearch -m avc -ts recent
Konfigurationsdatei anlegen
Die folgende Konfiguration wird als Datei gespeichert unter:
/etc/nginx/conf.d/braun.it113.int.conf
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name braun.it113.int;
root /var/www/braun;
index index.html index.htm;
ssl_certificate /etc/nginx/ssl/braun.it113.int.crt;
ssl_certificate_key /etc/nginx/ssl/braun.it113.int.key;
location / {
try_files $uri $uri/ =404;
}
}
Verzeichnisstruktur vorbereiten
- Verzeichnis für Inhalte anlegen
- mkdir -p /var/www/braun
Startseite erzeugen
- Script herunterladen (außerhalb des DocumentRoot)
- cd /root
- wget https://xinux.de/downloads/html/webgen.sh
- chmod +x webgen.sh
- HTML-Seite erzeugen
- ./webgen.sh braun > /var/www/braun/index.html
nginx neu starten
- Konfiguration übernehmen
- systemctl restart nginx
- Status prüfen
- systemctl status nginx