Proxy gibt keinen Web-App-Inhalt zurück

Proxy gibt keinen Web-App-Inhalt zurück

Ich habe eine Webanwendung, die über Port 80 mit dem Endbenutzer und über Port 3001 mit einem Express-Server kommuniziert. Ich habe eineReverseproxyaber der Code scheint meine Serverantwort direkt an meinen Endbenutzer zurückzugeben, anstatt den HTML-Code der Webanwendung. Ich möchte, dass die Webanwendung weiterhin ihre typische HTML-Antwort sendet, während sie ihre Server-API-Anfragen an Port 3001 sendet. Habe ich meinen Proxy falsch eingerichtet?

Der schwierige Teil dabei ist, dass meine Webanwendung sowohl als Server (für den Endbenutzer) als auch als Client (für den Express-Server) fungiert.

Hier ist meine Vhost-Konfiguration:

<VirtualHost *:443>
    SSLEngine on
    SSLProxyEngine on
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ServerName 192.168.253.101
    ServerAlias example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/request.log combined
    SSLCertificateFile "/etc/ssl/certs/Client_Cert.crt"
    SSLCertificateKeyFile "/etc/ssl/certs/Client_Key.key"
        ProxyRequests Off
        <Proxy *>
           Order deny,allow
           Allow from all
        </Proxy>
        ProxyPass / https://localhost:3001/
        ProxyPassReverse / https://localhost:443/
</VirtualHost>

Diagramm von

Antwort1

Durch Ändern der Zeile „ProxyPass“ in „ProxyPassMatch“ konnte ich weiterhin von der Stammdomäne aus auf meine HTML-Seite zugreifen und gleichzeitig alle zusätzlichen API-Aufrufe an meinen lauschenden Server weiterleiten.

<VirtualHost *:443>
    SSLEngine on
    SSLProxyEngine on
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off
    ServerName 192.168.253.101
    ServerAlias example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog /var/www/example.com/error.log
    CustomLog /var/www/example.com/request.log combined
    SSLCertificateFile "/etc/ssl/certs/Client_Cert.crt"
    SSLCertificateKeyFile "/etc/ssl/certs/Client_Key.key"
        ProxyRequests Off
        <Proxy "*">
           Require host yournetwork.example.com
        </Proxy>
       ProxyPassMatch ^/([a-z]+)$ https://localhost:3001/$1
</VirtualHost>

verwandte Informationen