워드 프레스를 사용하는 Apache2의 Proxyreverse

Oct 04 2020

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의 서비스로 리디렉션됩니다.

내 구성에 뭔가 빠졌다고 생각하는데 무엇을 이해하지 못하는 것 같습니다 .. 워드 프레스에서 변경해야하는 것이 있습니까?

답변

jnovack Oct 04 2020 at 17:37

당신은 너무 많은 일을하고 있습니다.

ProxyPass-또는- DocumentRoot둘 다가 아닙니다.

아파치에서 페이지를 제공 DocumentRoot하거나 (사용하여 ProxyPass) nodejs에서 페이지를 제공 할 수 있습니다 (사용하여 ).

Mat.C Oct 04 2020 at 20:11

마지막으로이 문제를 해결하고 let 's encrypt certbot을 사용하여 웹 사이트에 대한 SSL 인증서를 만들었습니다.이 스크립트는 https 요청을위한 다른 파일 (/etc/apache2/sites-available/myDomain-le-ssl.conf라고 함)에 새 가상 호스트를 생성했습니다. 그 가상 호스트가 내 proxypass 지시문을 재정의하고 있었고이 가상 호스트도 편집하면 모든 것이 작동했습니다.