AH00898: 원격 서버(localhost)와의 SSL 핸드셰이크 중 오류가 발생했습니다.

AH00898: 원격 서버(localhost)와의 SSL 핸드셰이크 중 오류가 발생했습니다.

내 Debian 10(buster) 서버에서 GhostCMS 인스턴스를 부팅하려고 합니다. 나는 Apache(v2.4.38) 역방향 프록시를 사용하여 그렇게 할 계획이었습니다. Ghost 설정의 경우 문서에 설명된 대로 ghost-cli를 사용했습니다. ( ghost install && ghost start) 그리고 그것은 다소 잘 작동했습니다(Nginx 구성 부분과 그에 따른 LetsEncrypt 부분 외에 - 나중에 수동으로 시작했습니다)

HTTP에 대한 내 Apache 구성은 다음과 같습니다.

<VirtualHost *:80>
DocumentRoot /var/www/ghost
ServerName blog.domain.xyz
ServerAlias www.blog.domain.xyz


ProxyPreserveHost On
ProxyRequests Off

ProxyPass / https://127.0.0.1:2368/
ProxyPassReverse / https://127.0.0.1:2368/

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

HTTPS에 대한 내 Apache 구성은 다음과 같습니다.

<IfModule mod_ssl.c>
<VirtualHost *:443>
DocumentRoot /var/www/ghost
ServerName blog.domain.xyz
ServerAlias www.blog.domain.xyz

ProxyPreserveHost On
ProxyRequests Off

SSLEngine On
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

ProxyPass / https://127.0.0.1:2368/
ProxyPassReverse / https://127.0.0.1:2368/

ErrorLog ${APACHE_LOG_DIR}/blog.domain.xyz_error.log
CustomLog ${APACHE_LOG_DIR}/blog.domain.xyz_access.log combined


RewriteCond %{SERVER_NAME} =blog.domain.xyz [OR]
RewriteCond %{SERVER_NAME} =www.blog.domain.xyz

SSLCertificateFile /etc/letsencrypt/live/blog.domain.xyz/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/blog.domain.xyz/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

참고: 모든 페이지는 a2ensite configname을 사용하여 활성화되었으며 ghost는 여전히 기본 포트(localhost:2368)에서 실행 중입니다.

페이지를 로드하려고 할 때마다 다음과 같은 이유와 함께 HTTP 500 프록시 오류가 발생합니다.Error during SSL Handshake with remote server

나는 이미 몇 가지 튜토리얼을 시도했습니다. 예:https://www.codersbistro.com/blog/setting-up-ghost-with-apache-http-server/하지만 그들은 여전히 ​​나를 도와줄 수 없었습니다.

여러분 중 일부가 나에게 적절한 힌트를 제공할 수 있기를 바랍니다. :-)

답변1

나는 이미 몇 가지 튜토리얼을 시도했습니다. 예:https://www.codersbistro.com/blog/setting-up-ghost-with-apache-http-server/하지만 그들은 여전히 ​​나를 도와줄 수 없었습니다.

튜토리얼에는 다음 부분이 포함되어 있습니다.

ProxyPass / http://localhost:2368/
ProxyPassReverse / http://localhost:2368/

이와 반대로 구성에는 다음이 포함됩니다.

ProxyPass / https://127.0.0.1:2368/
ProxyPassReverse / https://127.0.0.1:2368/

차이점을 알아두셨나요? 튜토리얼에서는 http를 사용하는 동안 https를 사용하여 포트 2368의 내부 서버에 액세스하려고 합니다. 아마도 후자가 맞을 것이다. https 처리는 내부 CMS 서버가 아닌 Apache에 의해 수행됩니다. Apache와 달리 호스트 외부에서 접근할 수 없어야 합니다.

관련 정보