Linux - HTTPS Proxy 設定導致的 curl 錯誤

在 Linux 系統中,設定 HTTPS proxy 是常見的網路設定任務。然而,某些情況下可能會遇到意外問題。
本文將探討如何正確設定 HTTPS proxy,並解決可能出現的 curl 錯誤。

常見的 HTTPS Proxy 設定

通常,我們會在 /etc/profile 文件中加上這一行來設定 HTTPS proxy:

1
export https_proxy=https://192.168.14.180:3128

這種方法在大多數情況下都能正常工作。但是,某些環境中可能會導致 curl 命令出現問題。

使用上述設定後,當嘗試執行某些 curl 命令時,可能會遇到如下錯誤:

1
2
3
4
5
user@node0:~$ curl https://get.k3s.io | sh -
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
curl: (35) OpenSSL/3.0.13: error:0A00010B:SSL routines::wrong version number

這個錯誤表明 SSL 連線出現了問題,可能是由於 proxy 設定不正確引起的。

解決方案

經過調查研究,發現將 proxy 設定中的 https 改為 http 可以解決這個問題:

1
export https_proxy=http://192.168.14.180:3128

這個看似矛盾的修改實際上是有道理的。雖然我們是在設定 HTTPS proxy,但 proxy 伺服器本身通常是通過 HTTP 協定進行通訊的。將協定改為 http 後,curl 可以正確地與 proxy 伺服器建立連線,然後再通過 proxy 存取 HTTPS 網站。

結論

在設定 HTTPS proxy 時,如果遇到 SSL 相關的錯誤,可以嘗試將 proxy 地址從 https:// 改為 http://

這個修改也許可以幫助你解決意外的 curl 錯誤,使您能夠順利地通過 proxy 存取 HTTPS 網站。

記住,網路設定可能因環境而異。在進行任何更改之前,建議先備份原有設定,並在測試環境中驗證新的設定是否有效。

也許你也會想看看