解決在控制臺中使用git 連接失敗或443
443的原因是,命令行或wsl中并不走window的全局代理。嗯,全局卻不包括控制臺,說來話長但實(shí)際就是這樣的。
問題一、為命令行或wsl終端設(shè)置代理
解決的方法就是給終端或叫控制臺添加代理設(shè)置,這樣能解決443的問題。7890是代理軟件的代理端口,比如clash。如果你用socket5不用http代理,你就點(diǎn)開clash采用混合配置,這樣就會都用一個端口,而不是http,socket5分別采用不同的端口。
Gitbash代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=https://127.0.0.1:7890
CMD代理
set http_proxy=http://127.0.0.1:7890
set https_proxy=https://127.0.0.1:7890
Wsl代理
wsl不走127.0.0.1得獲取到虛擬機(jī)的ip,可以用一個shell腳本來解決。
source /data/Tools/proxy.sh set
問題二、端口沖突,搜索遍全網(wǎng)也沒找到正確方法或思路
有的人遇到本來用得好好的,也能在控制臺 git clone,curl或wget國內(nèi)不能訪問的網(wǎng)站都沒問題。但某一天不知道怎么的,就報:
可以發(fā)現(xiàn)用?source /data/Tools/proxy.sh test 測試是可以訪問國外的google等網(wǎng)站的。但git clone卻不行。
這其實(shí)是你可能沒注意,在wsl中有時候是在普通賬戶下,有時候進(jìn)到了root賬戶下,執(zhí)行了
source /data/Tools/proxy.sh set。之后在測試代理時,又換了代理地址或端口。
這樣在不同的賬戶下采用了同樣的端口,但ip地址不同的代理設(shè)置,產(chǎn)生了端口沖突。
你進(jìn)入到不同賬戶的用戶目錄 cd ~?
打開 .gitconfig文件,和用?env | grep -i proxy 命令查看,就能發(fā)現(xiàn)端口沖突的出處!
解決辦法:把不同賬號下export和 gitconfig設(shè)置的代理都刪除。
遇到?jīng)_突了,就用同一個proxy.sh文件,把不使用代理的賬號下?source /data/Tools/proxy.sh unset刪除代理。在你要使用代理的賬號下重新執(zhí)行?source /data/Tools/proxy.sh set