워드 프레스를 사용하는 Apache2의 Proxyreverse
apach2 가상 호스트를 사용하여 내 서버에 Wordpress를 설치하고 구성했습니다. 이 구성으로 가상 호스트를 만들었습니다.
<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>
당신은 내가 요청 경로에 recived 리디렉션에 대한 ProxyPass로 지시문을 설정하기 위해 노력하고있어 설정에서 알 수 있듯이 /node-yrl-bookA를 nodejs(사용하여 만든 서비스 expressjs포트 5000에서)하지만,이 작업을 대신 내가 얻을 해당 서비스에 리디렉션을 받고 있지 않습니다 404 페이지는 wordpress 페이지를 찾을 수 없습니다.
my_ip/node-yrl-book대신 요청 하면 올바르게 작동하고 포트 : 5000의 서비스로 리디렉션됩니다.
내 구성에 뭔가 빠졌다고 생각하는데 무엇을 이해하지 못하는 것 같습니다 .. 워드 프레스에서 변경해야하는 것이 있습니까?
답변
당신은 너무 많은 일을하고 있습니다.
ProxyPass-또는- DocumentRoot둘 다가 아닙니다.
아파치에서 페이지를 제공 DocumentRoot하거나 (사용하여 ProxyPass) nodejs에서 페이지를 제공 할 수 있습니다 (사용하여 ).
마지막으로이 문제를 해결하고 let 's encrypt certbot을 사용하여 웹 사이트에 대한 SSL 인증서를 만들었습니다.이 스크립트는 https 요청을위한 다른 파일 (/etc/apache2/sites-available/myDomain-le-ssl.conf라고 함)에 새 가상 호스트를 생성했습니다. 그 가상 호스트가 내 proxypass 지시문을 재정의하고 있었고이 가상 호스트도 편집하면 모든 것이 작동했습니다.