Proxyreverse no Apache2 com wordpress
Eu instalei e configurei o Wordpress no meu servidor usando também os virtualhosts apach2. Eu fiz um virtualhost com esta configuração
<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>
Como você pode ver na configuração, estou tentando definir a diretiva ProxyPass para redirecionar as solicitações recebidas no caminho /node-yrl-bookpara um nodejsserviço (feito usando expressjs) na porta 5000, mas isso não está funcionando, em vez de obter um redirecionamento para esse serviço que recebo a página 404 não encontrada do wordpress.
Se eu fizer uma solicitação em my_ip/node-yrl-bookvez, ela funciona corretamente e sou redirecionado para o serviço na porta: 5000
Suponho que esteja faltando alguma coisa na minha configuração, mas não estou entendendo o quê .. Talvez haja algo no wordpress que precise ser alterado?
Respostas
Você tem coisas demais acontecendo.
ProxyPass-ou- DocumentRoot, não ambos.
Você pode servir a página do apache (usando DocumentRoot) ou pode servir a página do nodejs (usando ProxyPass).
Finalmente resolvi isso, fiz um certificado SSL para meu site usando vamos criptografar o certbot. Este script criou um novo virtualhost em outro arquivo para as solicitações https (chamado /etc/apache2/sites-available/myDomain-le-ssl.conf) Esse virtualhost estava substituindo minha diretiva proxypass, editar também este virtualhost fez todo o trabalho