Nginx HTTPS Virtueller Host: Unterschied zwischen den Versionen

Aus Xinux Wiki
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)
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