Webproxy mit nginx für HTTP und X.509 Zertifikate: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
= Webproxy mit Nginx für HTTP und X.509-Zertifikate =
 
= Webproxy mit Nginx für HTTP und X.509-Zertifikate =
 +
==Rocky Template klonen==
 +
netz: DMZ
 +
name: revproxy.it2XX.int
 +
ip: 10.88.2XX.41
 +
gw: 10.88.2XX.1
 +
nameserver: 10.88.2XX.21
 +
  
 
== Einführung ==
 
== Einführung ==
Zeile 7: Zeile 14:
  
 
== Installation von Nginx ==
 
== Installation von Nginx ==
=== Debian/Ubuntu ===
+
=== RHEL/RockeCentOS ===
* Nginx-Server installieren:
+
Nginx-Repository hinzufügen und installieren:
* sudo apt update
 
* sudo apt install nginx
 
* Dienst starten und aktivieren:
 
* sudo systemctl start nginx
 
* sudo systemctl enable nginx
 
 
 
=== RHEL/CentOS ===
 
* Nginx-Repository hinzufügen und installieren:
 
 
* sudo dnf install nginx
 
* sudo dnf install nginx
* Dienst starten und aktivieren:
+
Dienst starten und aktivieren:
 
* sudo systemctl start nginx
 
* sudo systemctl start nginx
 
* sudo systemctl enable nginx
 
* sudo systemctl enable nginx
Zeile 25: Zeile 24:
  
 
== TLS/SSL mit X.509-Zertifikaten ==
 
== TLS/SSL mit X.509-Zertifikaten ==
* Selbstsigniertes Zertifikat erstellen:
+
*[[Zertifikat erstellen 5105|Zertifikat erstellen]]
* sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
 
 
 
* Beispielkonfiguration mit TLS:
 
 
<pre>
 
<pre>
 
server {
 
server {

Version vom 26. März 2026, 13:31 Uhr

Webproxy mit Nginx für HTTP und X.509-Zertifikate

Rocky Template klonen

netz: DMZ
name: revproxy.it2XX.int
ip: 10.88.2XX.41
gw: 10.88.2XX.1
nameserver: 10.88.2XX.21


Einführung

  • Nginx kann als Reverse Proxy für HTTP- und HTTPS-Dienste verwendet werden.
  • X.509-Zertifikate ermöglichen die TLS-Verschlüsselung für sichere Verbindungen.
  • Der Proxy kann Anfragen an interne Webserver weiterleiten und dabei SSL/TLS offloaden.

Installation von Nginx

RHEL/RockeCentOS

Nginx-Repository hinzufügen und installieren:

  • sudo dnf install nginx

Dienst starten und aktivieren:

  • sudo systemctl start nginx
  • sudo systemctl enable nginx

Grundlegende Proxy-Konfiguration

TLS/SSL mit X.509-Zertifikaten

server {
    listen 443 ssl;
    server_name secure.example.com;

    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        proxy_pass http://backend.local;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
  • Nginx neu laden:
  • sudo systemctl reload nginx

Zugriffsbeschränkung nach IP

  • Nur bestimmten IPs Zugriff gewähren:
location / {
    allow 192.168.1.100;
    deny all;
    proxy_pass http://backend.local;
}

Load Balancing mit Nginx

  • Mehrere Backend-Server verteilen:
upstream backend_servers {
    server backend1.local;
    server backend2.local;
}

server {
    listen 80;
    server_name loadbalancer.example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Aufgaben

  • Richte einen Reverse Proxy für einen internen Dienst ein.
  • Konfiguriere TLS mit einem selbstsignierten Zertifikat.
  • Implementiere eine Zugriffsbeschränkung nach IP-Adresse.
  • Setze Load Balancing zwischen mehreren Backend-Servern um.

Fazit

  • Nginx ist ein leistungsfähiger Webproxy für HTTP und HTTPS.
  • TLS-Zertifikate bieten Sicherheit und Vertrauenswürdigkeit.
  • Load Balancing und Zugriffsbeschränkungen erhöhen die Skalierbarkeit und Sicherheit.