AH00898:與遠端伺服器(本地主機)進行 SSL 握手時出錯

AH00898:與遠端伺服器(本地主機)進行 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 配置名稱啟用,且 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/

注意區別嗎?您嘗試使用 https 存取連接埠 2368 上的內部伺服器,而在教學課程中則使用 http。後者可能是正確的。請注意,https 處理是由 Apache 完成的,而不是由內部 CMS 伺服器完成的,與 Apache 不同的是,內部 CMS 伺服器不應該從主機外部存取。

相關內容