共用方式為


設定 Azure Stack HCI 版本 23H2 的 Proxy 設定

適用於:Azure Stack HCI 版本 23H2

本文說明如果您的網路使用 Proxy 伺服器進行因特網存取,如何設定 Azure Stack HCI 23H2 版雲端部署的 Proxy 設定。

如需 Azure Stack HCI 輸出端點的防火牆需求和內部規則和埠的相關信息,請參閱 Azure Stack HCI 的防火牆需求。

開始之前

開始設定 Proxy 設定之前,請確定:

  • 您可以存取您想要設定 Proxy 設定的 Azure Stack HCI 叢集。 您也有本機系統管理員認證,可存取 Azure Stack HCI 叢集中的伺服器。
  • 您知道 Proxy 伺服器名稱或 IP 位址和連接埠(選擇性)。 如果您沒有此資訊,請連絡您的網路管理員。

以下是設定 Proxy 設定之前要記住的一些重要考慮:

  • 瞭解 Proxy 設定會針對 Azure Stack HCI 的不同元件和功能而不同,WinInetWinHTTP以及 Environment Variables。 您必須設定所有必要元件的 Proxy 設定,以及您打算使用的任何其他功能。
  • 雖然每個元件都有特定的命令參數和 Proxy 略過清單字串需求,但我們建議在不同的元件和功能之間保留相同的 Proxy 元件。
  • 由於安全性限制,我們不支援使用使用者名稱和密碼的已驗證 Proxy。
  • 如果您在 Proxy 中使用 SSL 檢查,則必須略過必要的 Azure Stack HCI 及其元件(Arc Resource Bridge、Azure Kubernetes Service (AKS)等) 輸出 URL。
  • 操作系統上的三個 Proxy 元件中每個都有特定的 Proxy 略過清單字串需求。 請勿針對這三個元件使用相同的字串。

設定 WinInet 的 Proxy 設定

您必須先設定 Proxy 設定, WinInet 才能 向 Azure Arc 註冊伺服器。

安裝模組 WinInetProxy 以執行本節中的命令。 如需模組及其安裝方式的相關信息,請參閱 PowerShell 資源庫 |WinInetProxy 0.1.0。 如需 PowerShell 腳本的相關信息 WinInetProxy ,請參閱 WinInetProxy.psm1

如果您因為沒有因特網存取而無法將模組安裝 WinInetProxy 到叢集節點,建議您將模組下載到您的管理計算機,然後手動將模組傳輸到您要執行模組的叢集節點。 您也可以使用 Start-BitsTransfer PowerShell Cmdlet,在管理計算機與伺服器之間傳輸一或多個檔案。

若要設定 Azure Stack HCI 作業系統的 Proxy 設定,請在叢集中的每個伺服器上以系統管理員身分執行下列 PowerShell 命令:

  1. 透過遠端桌面通訊協定 (RDP) 連線到 Azure Stack HCI 叢集中的伺服器,然後開啟 PowerShell 工作階段。

  2. 若要在安裝 WinInetProxy 模組之後設定 Proxy 設定,請執行下列 Cmdlet:

    Set-WinInetProxy -ProxySettingsPerUser 0 -ProxyServer http://<Proxy_Server_Address:Proxy_Port> -ProxyBypass <URLs to bypass>
    

    下表會說明這些參數:

    參數 描述
    ProxySettingsPerUser 指定 Proxy 設定是否為每部電腦或每個使用者:

    - 0 - 每部機器都有 Proxy 設定。
    - 1 (預設值) - Proxy 設定是每個使用者。
    - 如果未提供任何值, ProxySettingsPerUser 則會改用環境變數,如果有的話。
    ProxyServer 以格式 http://[Proxy_Server_Address]:[Proxy_Port]指定 Proxy 伺服器端點。 例如: http://proxy.contoso.com:8080
    ProxyBypass 指定略過 參數所 -ProxyServer 設定 Proxy 伺服器的主機 URL 清單。 例如,您可以設定 -ProxyBypass “localhost” 為略過本機內部網路 URL。 清單必須包含:

    - 至少每個伺服器的IP位址。
    - 至少叢集的IP位址。
    - 至少您為基礎結構網路定義的IP。 使用這些IP的Arc資源網橋、AKS和未來的基礎結構服務需要輸出連線能力。
    - 或者您可以略過整個基礎結構子網。
    - 每部伺服器的 NetBIOS 名稱。
    - 叢集的 NetBIOS 名稱。
    - 任何主機或子域的域名或功能變數名稱,具有星號 * 通配符。

以下是命令使用方式的範例:

Set-WinInetProxy -ProxySettingsPerUser 0 -ProxyServer http://192.168.1.250:8080 -ProxyBypass "localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster"

WinInet Proxy 略過清單字串考慮

設定 WinInet Proxy 略過清單時,請記住下列幾點:

  • 參數必須以逗號 , 或分號 ;分隔。
  • 不支援略過子網的 CIDR 表示法。
  • 星號可用來做為通配符,以略過子網或功能變數名稱。 例如, 192.168.1.* 針對子網或 *.contoso.com 功能變數名稱。
  • 必須使用和埠指定 http:// Proxy 名稱。 例如: http://192.168.1.250:8080
  • 設定 和 WinHTTPWinInet,建議您使用相同的略過字串。
  • Proxy 略過清單中不支援使用 <local> 字串。

檢視和移除 WinInet Proxy 設定

  • 若要檢視或驗證目前的 WinInet Proxy 組態,請在命令提示字元中輸入:

    PS C:\> Get-WinhttpProxy -Advanced
    
    Current WinHTTP proxy settings:
    
    Proxy Server(s) :  http://192.168.1.250:8080
    Bypass List     :  localhost;127.0.0.1;*. contoso.com;node1;node2;192.168.1.*;s-cluster
    
    PS C:\>
    
  • 若要移除 Azure Stack HCI 更新和雲端見證的 WinInet Proxy 設定,請在命令提示字元中輸入:

    PS C:\> Set-WinInetProxy
    Start proxy Configuration
    Proxy is Per User
    AutoDetect is 0
    PACUrl is
    ProxyServer is
    ProxyBypass is
    Entered WriteProxySettingsHelper
    Entered WriteProxySettingsHelper
    
    Successfully set proxy
    PS C:\> Get-WinhttpProxy -Advanced
    

設定 WinHTTP 的 Proxy 設定

您必須先設定 Proxy 設定, WinHTTP 才能 向 Azure Arc 註冊伺服器。

若要設定 Azure Stack HCI 更新和雲端見證的 WinHTTP Proxy,請在叢集中的每個伺服器上以系統管理員身分執行下列 PowerShell 命令:

Set-winhttpproxy -proxyserver http://<Proxy_Server_Address:Proxy_Port> -BypassList <URLs to bypass>

下表會說明這些參數:

參數 描述
ProxyServer 以格式 http://[Proxy_Server_Address]:[Proxy_Port]指定 Proxy 伺服器端點。 例如: http://proxy.contoso.com:8080
BypassList 指定略過 參數所 -ProxyServer 設定 Proxy 伺服器的主機 URL 清單。 例如,您可以設定 -ProxyBypass "localhost" 為略過本機內部網路 URL。 清單必須包含:

- 至少每個伺服器的IP位址。
- 至少叢集的IP位址。
- 至少您為基礎結構網路定義的IP。 使用這些IP的Arc資源網橋、AKS和未來的基礎結構服務需要輸出連線能力。
- 或者您可以略過整個基礎結構子網。
- 每部伺服器的 NetBIOS 名稱。
- 叢集的 NetBIOS 名稱。
- 任何主機或子域的域名或功能變數名稱,具有星號 * 通配符。

以下是命令使用方式的範例:

Set-winhttpproxy -proxyserver http://192.168.1.250:8080 -BypassList "localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster"

WinHTTP Proxy 略過清單字串考慮

設定 WinHTTP Proxy 略過清單字串時,請記住下列幾點:

  • 參數必須以逗號 , 或分號 ;分隔。
  • 不支援略過子網的 CIDR 表示法。
  • 星號可用來做為通配符,以略過子網或功能變數名稱。 例如, 192.168.1.* 針對子網或 *.contoso.com 功能變數名稱。
  • 必須使用和埠指定 http:// Proxy 名稱。 例如: http://192.168.1.250:8080
  • 設定 和 WinHTTPWinInet,建議您使用相同的略過字串。
  • Proxy 略過清單中不支援使用 <local> 字串。

檢視和移除 WinHTTP Proxy 設定

  • 若要檢視或驗證目前的 WinHTTP Proxy 組態,請在命令提示字元中輸入:

    PS C:\> Get-WinhttpProxy -Default
    
    Current WinHTTP proxy settings:
    
    Proxy Server(s) :  http://192.168.1.250:8080
    Bypass List     :  localhost;127.0.0.1;*.contoso.com;node1;node2;192.168.1.*;s-cluster
    
    PS C:\>
    
  • 若要移除 Azure Stack HCI 更新和雲端見證的 WinHTTP Proxy 設定,請在命令提示字元中輸入:

    PS C:\> Reset-WinhttpProxy -Direct
    Current WinHTTP proxy settings:
    Direct access (no proxy server). 
    PS C:\>
    

設定環境變數的 Proxy 設定

您必須先設定 Azure Resource Bridge 和 AKS 的 Proxy,才能 向 Azure Arc 註冊伺服器。

若要設定 Proxy 伺服器環境變數,請在叢集中的每個伺服器上以系統管理員身分執行下列命令:

# If a proxy server is needed, execute these commands with the proxy URL and port.
[Environment]::SetEnvironmentVariable("HTTPS_PROXY","http://ProxyServerFQDN:port", "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY","Machine")
[Environment]::SetEnvironmentVariable("HTTP_PROXY","http://ProxyServerFQDN:port", "Machine")
$env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY","Machine")
$no_proxy = "<bypassliststring>"
[Environment]::SetEnvironmentVariable("NO_PROXY",$no_proxy,"Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY","Machine")

下表會說明這些參數:

參數 描述
HTTPS_PROXY變數 以格式 http://[Proxy_Server_Address]:[Proxy_Port]指定 Proxy 伺服器端點。 例如: http://proxy.contoso.com:8080
HTTP_PROXY變數 以格式 http://[Proxy_Server_Address]:[Proxy_Port]指定 Proxy 伺服器端點。 例如: http://proxy.contoso.com:8080
NO_PROXY變數 要略過本機內部網路 URL、網域和子網的字串。 清單必須包含:

- 至少每個伺服器的IP位址。
- 至少叢集的IP位址。
- 至少您為基礎結構網路定義的IP。 使用這些IP的Arc資源網橋、AKS和未來的基礎結構服務需要輸出連線能力。
- 或者您可以略過整個基礎結構子網。
- 每部伺服器的 NetBIOS 名稱。
- 叢集的 NetBIOS 名稱。
- 任何主機或子域具有點 . 通配符的功能變數名稱或功能變數名稱。
- .svc 適用於內部 Kubernetes 服務流量。

以下是命令使用方式的範例:

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.250:8080", "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.250:8080", "Machine")
$env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
$no_proxy = "localhost,127.0.0.1,.svc,192.168.1.0/24,.contoso.com,node1,node2,s-cluster"
[Environment]::SetEnvironmentVariable("NO_PROXY", $no_proxy, "Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")

環境變數 Proxy 略過清單字串考慮

設定環境變數 Proxy 略過清單字串時,請記住下列幾點:

  • 參數必須以逗號 ,分隔。
  • 必須使用 CIDR 表示法來略過子網。
  • 不支援星號 * 為通配符以略過子網或功能變數名稱。
  • .點應作為通配符使用,以略過功能變數名稱或本地服務。 例如 .contoso.com.svc
  • 您必須使用 指定 http:// Proxy 名稱,以及HTTP_PROXY和HTTPS_PROXY變數的埠。 例如: http://192.168.1.250:8080
  • .svc 略過是Linux表示法中的 AKS 內部服務通訊。 Arc Resource Bridge 和 AKS 需要此專案。
  • AKS 需要略過下列子網。 10.0.0.0/8、172.16.0.0/12 和 192.168.0.0/16。 如果未定義這些子網,這些子網就會自動新增至環境變數略過清單。
  • Proxy 略過清單中不支援使用 <local> 字串。

確認並移除環境變數 Proxy 設定

  • 若要確認已套用環境變數 Proxy 設定,請執行下列命令:

    echo "https :" $env:https_proxy "http :" $env:http_proxy "bypasslist " $env:no_proxy
    
  • 若要移除 Proxy 設定,請在叢集中的每個伺服器上以系統管理員身分執行下列命令:

    [Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "Machine")
    $env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
    [Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "Machine")
    $env:HTTP_PROXY = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
    

設定已啟用 Arc 的伺服器代理程式的 Proxy 設定

若要設定已啟用 Azure Arc 的伺服器代理程式以透過 Proxy 伺服器通訊,請執行下列命令:

azcmagent config set proxy.url "http://ProxyServerFQDN:port"

如果您的網路需要,您可以使用 IP 位址或簡短的主機名稱來取代 FQDN。 如果您的 Proxy 伺服器在連接埠 80 上執行,您可以在結尾省略 ":80"。

若要檢查代理程式設定中是否已設定 Proxy 伺服器 URL,請執行下列命令:

azcmagent config get proxy.url

若要停止代理程式透過 Proxy 伺服器進行通訊,請執行下列命令:

azcmagent config clear proxy.url

使用 azcmagent config 命令重新設定 Proxy 設定時,您不需要重新啟動任何服務。

請檢閱已啟用 Arc 的伺服器代理程式頁面,以取得管理和維護連線機器代理程式的進一步詳細數據

設定 Azure 服務的 Proxy 設定

如果您使用 或計劃使用下列任一 Azure 服務,請參閱下列文章,以取得如何為每個 Azure 服務設定 Proxy 伺服器設定的相關信息:

下一步

如需詳細資訊,請參閱