Proxyreverse in Apache2 con wordpress
Ho installato e configurato Wordpress sul mio server utilizzando anche apach2 virtualhost. Ho creato un virtualhost con questa configurazione
<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>
Come puoi vedere dalla configurazione, sto cercando di impostare la direttiva ProxyPass per reindirizzare le richieste ricevute sul percorso /node-yrl-bookdi un nodejsservizio (effettuato utilizzando expressjs) sulla porta 5000 ma questo non funziona, invece di ottenere un reindirizzamento a quel servizio ottengo la pagina 404 non trovata pagina wordpress.
Se faccio una richiesta a my_ip/node-yrl-bookinvece funziona correttamente e vengo reindirizzato al servizio alla porta: 5000
Suppongo che mi manchi qualcosa nella mia configurazione ma non capisco cosa .. Forse c'è qualcosa in wordpress che deve essere cambiato?
Risposte
Hai troppe cose da fare.
ProxyPass-oppure- DocumentRoot, non entrambi.
Puoi servire la pagina da apache (usando DocumentRoot), oppure puoi servire la pagina da nodejs (usando ProxyPass).
Finalmente ho risolto questo, ho creato un certificato SSL per il mio sito web usando Let's encrypt certbot, Questo script ha creato un nuovo virtualhost in un altro file per le richieste https (chiamato /etc/apache2/sites-available/myDomain-le-ssl.conf) Quel virtualhost stava sovrascrivendo la mia direttiva proxypass, la modifica anche di questo virtualhost ha fatto funzionare tutto