疑難排解

設定代理設定

在具有網路限制的企業環境中為Bob Shell設定代理設定

錯誤訊息

嘗試使用Bob Shell時出現連線錯誤或逾時,例如:

  • "無法連線到Bob服務"
  • "網路請求失敗"
  • "連線逾時"
  • "SSL憑證驗證失敗"
  • "ECONNREFUSED"或"ETIMEDOUT"錯誤

常見原因

你的組織要求所有HTTP/HTTPS流量通過代理伺服器流動,而不是允許直接連線。這在具有嚴格網路安全政策的企業環境中很常見。

解決方案

使用環境變數為Bob Shell設定代理設定,以通過組織的代理伺服器路由流量。

設定代理環境變數

在文字編輯器中開啟你的shell設定檔:

  • 對於Bash:~/.bashrc~/.bash_profile
  • 對於Zsh:~/.zshrc
  • 對於Fish:~/.config/fish/config.fish

將以下環境變數新增到你的shell設定檔:

export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=https://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1

proxy.example.com:8080替換為你組織的實際代理伺服器位址和連接埠。

注意:

NO_PROXY變數指定應繞過代理的位址。新增不需要代理存取的任何內部網域或IP位址。

儲存設定檔並重新載入:

# 對於Bash
source ~/.bashrc

# 對於Zsh
source ~/.zshrc

# 對於Fish
source ~/.config/fish/config.fish

驗證環境變數已設定:

echo $HTTP_PROXY
echo $HTTPS_PROXY

透過啟動新工作階段來測試Bob Shell的連線性。

設定SSL憑證驗證

如果你的代理使用自簽憑證或自訂憑證授權單位,你可能需要設定SSL憑證驗證。

將SSL設定新增到你的shell設定檔:

# 停用嚴格的SSL驗證(不建議用於生產環境)
export NODE_TLS_REJECT_UNAUTHORIZED=0

# 或提供自訂CA憑證(建議)
export NODE_EXTRA_CA_CERTS=/path/to/your/ca-bundle.crt
警告:

停用SSL驗證(NODE_TLS_REJECT_UNAUTHORIZED=0)會降低安全性,應僅暫時使用。使用NODE_EXTRA_CA_CERTS提供組織的憑證套件。

從IT團隊取得組織的憑證套件並將其儲存到安全位置。

更新NODE_EXTRA_CA_CERTS路徑以指向你的憑證套件檔案。

重新載入shell設定並測試Bob Shell的連線性。

暫時代理設定

對於不修改shell設定檔的暫時代理設定,在目前終端工作階段中設定環境變數:

export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=https://proxy.example.com:8080
bobshell

這些設定僅適用於目前終端工作階段,關閉終端時將遺失。

這個主題如何?