修復:與遠端伺服器進行 SSL 握手期間出錯

修復:與遠端伺服器進行 SSL 握手期間出錯
與遠端伺服器進行 ssl 握手時出錯

與遠端伺服器的 SSL 握手期間出錯將阻止客戶端與伺服器通信,這將導致線上服務或 Web 應用程式無法存取。

如果您在線上託管服務,這是一個主要問題,因此盡快解決該問題至關重要。在本指南中,我們將向您展示解決此問題的幾種方法。

與遠端伺服器進行 SSL 握手時出現什麼錯誤?

  • 當用戶端無法與伺服器建立安全連線時,會出現此錯誤訊息,從而出現握手錯誤。
  • 導致此問題的最常見原因是伺服器的 SSL 設定以及過期的憑證。
  • 如果伺服器和用戶端不使用相同的協議,您可能會收到此錯誤。

如何修復與遠端伺服器 SSL 握手期間的錯誤?

  • 強制代理將壓縮設為無。如果代理商不能使用 gzip,這會有所幫助。
  • 配置應用程式以在內部使用 HTTP。這僅適用於您使用本機伺服器進行測試的情況。

1.更改Apache設定

  1. 打開命令列工具並存取伺服器。
  2. 現在執行以下命令: sudo nano /etc/apache2/sites-available/your-site.conf
  3. 確保設定檔中包含以下行:SSLProxyEngine onSSLProxyVerify noneSSLProxyCheckPeerCN offSSLProxyCheckPeerName offSSLProxyCheckPeerExpire off
  4. 儲存更改。

2. 檢查允許的協議

  1. 開啟命令列並執行以下命令: sudo nano /etc/apache2/sites-available/your-site.conf
  2. 接下來,配置該值如下: SSLProxyProtocol all -SSLv2 -SSLv3 -TLSv1
  3. 儲存更改。
  4. 如果您仍然遇到問題,請確保 SSLProxyCipherSuite 的值設定正確。

3.再次產生自簽名證書

  1. 再次啟動終端。
  2. 連接到伺服器後,執行以下命令: openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl.key -out ssl.crt
  3. 這將為您的伺服器產生新憑證。

如果您之前已在伺服器上產生了自簽名證書,則此方法適用。

4.修改rproxy.conf文件

  1. 打開終端機並執行以下命令: nano rproxy.conf
  2. 確保新增以下行: SetEnv proxy-sendchunked 1
  3. 儲存更改。

防止 SSL 握手時發生錯誤的提示

  • 確保伺服器提供的 SSL 憑證有效,並檢查鏈中的中間憑證。嘗試使用受信任的憑證授權單位所核發的憑證。
  • 確保憑證的公用名稱和使用者備用名稱與主機名稱相符。
  • 檢查協定並確保客戶端和伺服器都使用相容的協定版本。另外,檢查伺服器和客戶端 SSL/TLS 配置。
  • 始終保持 SSL 庫最新。
  • 確保您的防火牆沒有阻止用於 SSL/TLS 的連接埠 443。

這些步驟應該可以幫助您修復代理伺服器無法處理請求原因:與遠端伺服器進行 SSL 握手期間發生錯誤。在大多數情況下,問題與 Apache 配置有關,您需要相應地調整伺服器設定。

如果您不修復此錯誤,您將在瀏覽器中收到Handshake failed returned SSL error code 1SSL_error_handshake_failure_alert訊息。由於 SSL 的問題,許多人報告Chrome 表示即使憑證有效也不安全,但這很容易修復。

您設法解決這個問題了嗎?如果是這樣,請與我們分享哪種解決方案適合您。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *