Proxyreverse dans Apache2 avec wordpress

Oct 04 2020

J'ai installé et configuré Wordpress sur mon serveur en utilisant également des hôtes virtuels apach2. J'ai fait un virtualhost avec cette config

<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>


Comme vous pouvez le voir dans la configuration, j'essaie de définir la directive ProxyPass pour rediriger les demandes reçues sur le chemin /node-yrl-bookvers un nodejsservice (effectué à l'aide de expressjs) au port 5000 mais cela ne fonctionne pas, au lieu d'obtenir une redirection vers ce service, je reçois la page 404 n'a pas été trouvée page wordpress.

Si je fais une demande à la my_ip/node-yrl-bookplace, cela fonctionne correctement et je suis redirigé vers le service au port: 5000

Je suppose qu'il me manque quelque chose dans ma configuration mais je ne comprends pas quoi. Peut-être y a-t-il quelque chose dans wordpress qui doit être changé?

Réponses

jnovack Oct 04 2020 at 17:37

Il se passe beaucoup trop de choses.

ProxyPass-ou- DocumentRoot, pas les deux.

Vous pouvez servir la page à partir d'apache (en utilisant DocumentRoot), ou vous pouvez servir la page à partir de nodejs (en utilisant ProxyPass).

Mat.C Oct 04 2020 at 20:11

Enfin, j'ai résolu cela, j'ai créé un certificat SSL pour mon site Web en utilisant Let's encrypt certbot.Ce script a créé un nouvel hôte virtuel dans un autre fichier pour les requêtes https (appelé /etc/apache2/sites-available/myDomain-le-ssl.conf) Ce virtualhost remplaçait ma directive proxypass, la modification de cet hôte virtuel faisait tout fonctionner