So leiten Sie JEDE Site, die nicht in Hestia gefunden wird, auf einen anderen Server um - Nginx-Proxy-Manager

So leiten Sie JEDE Site, die nicht in Hestia gefunden wird, auf einen anderen Server um - Nginx-Proxy-Manager

Ich möchte: Wenn IRGENDEINE Site nicht auf (Hestia 192.168.0.37 Server) gefunden wird, dann umgeleitet (Nginx Proxy Manager 192.168.0.36)

Gegeben:

  1. Hestia-Server 192.168.0.37
  2. Nginx-Proxy-Manager 192.168.0.36
  3. Site zum Testen testsite.com (erstellt im Nginx-Proxy-Manager) (Hestia hat keine Datensätze)
  4. Hestia-Posts:
#netstat -nt4ulp | grep nginx
tcp        0      0 0.0.0.0:80 LISTEN /nginx: mast 
tcp        0      0 0.0.0.0:443 LISTEN /nginx: mast 
tcp        0      0 0.0.0.0:8083 LISTEN/nginx: master  
tcp        0      0 127.0.0.1:8084 LISTEN /nginx: mast 
#netstat -nt4ulp | grep apache
tcp        0      0 192.168.0.37:8443 LISTEN /apache2     
tcp        0      0 192.168.0.37:8080 LISTEN /apache2     
tcp        0      0 127.0.0.1:8081 LISTEN /apache2  

========================================================================

Ich versuche:

Bearbeiten Sie /etc/nginx/conf.d/192.168.0.37.conf

server {
    listen 80 default_server;
    server_name _;
    
    location / {
        proxy_pass http://192.168.0.36:80;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 443 ssl default_server;
    server_name _;
    
        ssl_certificate     /usr/local/hestia/ssl/certificate.crt;
        ssl_certificate_key /usr/local/hestia/ssl/certificate.key;

    
    location / {
        proxy_pass https://192.168.0.36:443;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

========================================================================

ich versuche

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 15 Sep 2023 17:54:48 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://testsite.com/

und siehe Seite von (Hestia-Server 192.168.0.37) DocumentRoot /var/www/html/index.html von /etc/apache2/conf.d/192.168.0.37.conf

Listen 192.168.0.37:8443
Listen 192.168.0.37:8080
<VirtualHost 192.168.0.37:8080>
    ServerName 192.168.0.37
    DocumentRoot /var/www/html2/
    Alias /error/ /var/www/document_errors/

</VirtualHost>

<VirtualHost 192.168.0.37:8443>
    ServerName 192.168.0.37
    DocumentRoot /var/www/html/
    Alias /error/ /var/www/document_errors/

    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile         /usr/local/hestia/ssl/certificate.crt
    SSLCertificateKeyFile      /usr/local/hestia/ssl/certificate.key

</VirtualHost>

warum, wie beheben?

Antwort1

Dies sollte ein Kommentar sein, ist aber etwas lang.

Ich weiß nicht, was Sie hier fragen.

Wenn Sie das SSL auf dem Nginx-Server beenden, verfügen Sie entweder über ein absolutes Monster von einem SSL-Zertifikat oder Sie haben jede Site als separaten Server{...} in Nginx konfiguriert.

und siehe Seite von (Hestia-Server 192.168.0.37)

Ja, das ist genau das, was ich von dieser Konfiguration erwarte. Sie haben nach http[s]://192.168.0.36 gefragt und Sie haben http[s]://192.168.0.36 bekommen.

Wenn Sie das Verhalten beibehalten möchten fürhttps://192.168.0.36(auf das außerhalb des Subnetzes nicht zugegriffen werden kann) Wenn Sie beim Hinzufügen eines neuen Verhaltens für die unbekannten virtuellen Hosts einen DNS-Eintrag oder einen Hosts-Eintrag auf dem Proxy mit einem neuen Namen und einen entsprechenden virtuellen Host in Apache hinzufügen möchten.

Da kein vernünftiger Mensch versuchen würde, mehrere Sites mit demselben Zertifikat zu betreiben, besteht alternativ die Möglichkeit, einfach eine Umleitung vom Standardserver in nginx zurückzugeben.

verwandte Informationen