Proxyreverse in Apache2 mit WordPress

Oct 04 2020

Ich habe Wordpress auf meinem Server installiert und konfiguriert, indem ich auch apach2 virtualhosts verwendet habe. Ich habe mit dieser Konfiguration einen virtuellen Host erstellt

<VirtualHost *:80 *:443>

    ServerAdmin [email protected]
    ServerName yourluxuryroad.com
    ServerAlias www.yourluxuryroad.com
    DocumentRoot /var/www/yourluxuryroad
    ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.yourluxuryroad.com [OR]
    RewriteCond %{SERVER_NAME} =yourluxuryroad.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass /node-yrl-book http://localhost:5000
    ProxyPassReverse /node-yrl-book http://localhost:5000

</VirtualHost>

<Directory /var/www/yourluxuryroad/>
    AllowOverride All
</Directory>


Wie Sie in der Konfiguration sehen können, versuche ich, die ProxyPass-Direktive für die Umleitung der Anforderungen festzulegen, die auf dem Pfad /node-yrl-bookzu einem nodejsDienst (erstellt mit expressjs) an Port 5000 empfangen wurden, aber dies funktioniert nicht, anstatt eine Umleitung zu diesem Dienst zu erhalten, den ich erhalte Die 404-Seite wurde nicht gefunden.

Wenn ich my_ip/node-yrl-bookstattdessen eine Anfrage mache , funktioniert dies korrekt und ich werde zum Dienst an Port: 5000 weitergeleitet

Ich nehme an, dass mir etwas in meiner Konfiguration fehlt, aber ich verstehe nicht, was. Vielleicht muss etwas in WordPress geändert werden?

Antworten

jnovack Oct 04 2020 at 17:37

Du hast viel zu viel los.

ProxyPass-oder- DocumentRootnicht beides.

Sie können die Seite entweder über Apache (mithilfe von DocumentRoot) oder über NodeJS (mithilfe von ProxyPass) bereitstellen .

Mat.C Oct 04 2020 at 20:11

Schließlich habe ich das gelöst. Ich habe ein SSL-Zertifikat für meine Website erstellt, indem ich certbot verschlüsselt habe. Dieses Skript hat einen neuen virtuellen Host in einer anderen Datei für die https-Anforderungen erstellt (genannt /etc/apache2/sites-available/myDomain-le-ssl.conf). Dieser virtuelle Host hat meine Proxypass-Direktive überschrieben und auch diesen virtuellen Host bearbeitet, damit alles funktioniert