NGINX-Weiterleitung per 3rd-Level-Domain-Name

NGINX-Weiterleitung per 3rd-Level-Domain-Name

Ich habe zwei lokale Web-Apps, die von einem externen Netzwerk aus erreichbar sein sollten, aber nur eine externe IP. Beide Web-Apps verwenden Port 443, der nicht geändert werden kann. Die Aufgabe besteht also darin, nginx so zu konfigurieren, dass es eingehende Anfragen basierend auf der Domäne der 3. Ebene weiterleiten kann. Nehmen wir an, meine Web-Apps laufen auf 192.168.1.55 und 192.168.1.65. Meine öffentliche IP ist 9*.23*.15*.12 und ich habe 2 DNS-A-Einträge site1.example.com und site2.example.com konfiguriert, die beide meiner öffentlichen IP zugeordnet sind. In meiner idealen Welt möchte ich, dass nginx alle eingehenden Anfragen mit $server_name = site1.example.com an 192.168.1.55 und mit $server_name = site2.example.com an 192.168.1.65 weiterleitet. Bitte geben Sie an, wie dies erreicht werden kann. Momentan konnte ich nur eine einfache Weiterleitung zu einer der Web-Apps konfigurieren.

server {
    listen 443 ssl http2;
    server_name site1.example.com;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/blog.zeroxzed.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/blog.zeroxzed.ru/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;

    location /.well-known/acme-challenge/ {
    root /web/sites/example.com/www/;
    }

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

verwandte Informationen