若要使用 HTTP 作為 RPC 的傳輸通訊協議,必須在伺服器程式的網路上設定在 Internet Information Server (IIS) 內執行的 RPC Proxy。 本節說明組態選項。 如需使用 RPC over HTTP 時最佳程式設計和組態作法的建議,請參閱 RPC over HTTP 部署建議。 主要工作是設定 RPC Proxy,以接受和轉送 RPC over HTTP 連線到 RPC over HTTP 伺服器程式。
IIS 必須先安裝在執行 RPC Proxy 的電腦上。 安裝 IIS 之後,就會安裝 RPC Proxy。 IIS 和 RPC Proxy 都可以從 [控制面板] 中的 [新增/移除 Windows 元件] 同時安裝。 RPC Proxy 來自 網路服務,在 Windows 設定中被稱為 RPC over HTTP Proxy 。 如果同時安裝 IIS 和 RPC Proxy,Windows 可確保它們會依適當順序安裝。
注意
安裝完成之後,如果在安裝程式期間執行 IIS,就必須重新啟動 IIS。
安裝 RPC Proxy 之後,必須執行一些額外的設定工作:
- 開啟 IIS MMC 嵌入式管理單元,並將 RPC Proxy 虛擬目錄設定為需要安全性,如 RPC over HTTP Security中所述。 只有在您打算使用 RPC over HTTP v2 時,才需要此步驟。
- 如果 IIS 未安裝憑證,則必須取得並安裝該電腦的有效憑證,才能在與 RPC Proxy 通訊時使用 SSL。 此步驟僅適用於透過 HTTP v2 的 RPC。 由於 RPC over HTTP v1 不支援 SSL,因此此步驟可以省略針對 RPC over HTTP v1 的處理。
- 如 RPC 透過 HTTP 安全性中所述,設定 ValidPorts 密鑰。
當這些設定工作完成時,RPC over HTTP Proxy 已準備好將來自 RPC over HTTP 用戶端的要求轉送至 RPC over HTTP 伺服器。
RPC over HTTP 登錄檔機碼
本節說明用來透過 HTTP 連線在 RPC 中設定用戶端、伺服器或 RPC Proxy 的其他登錄機碼。 通常不需要這些金鑰;這裡提供它們是為了完整性。
HKLM\Software\Microsoft\Rpc\DefaultChannelLifetime
DWORD。 覆寫預設頻道存續時間。 用於用戶端和 RPC Proxy。 通道存留期是以位元組表示。 如果未指定,則會使用 1GB。 僅適用於 RPC over HTTP v2。 在 RPC Proxy 上變更時,必須重新啟動 IIS,變更才會生效。
-
HKLM\Software\Microsoft\Rpc\ClientReceiveWindow
DWORD。 出現時,指定客戶端針對從 RPC Proxy 接收的數據所使用的接收視窗。 最小有效值為8K。 最大值為 1GB。 如果值不存在,則會使用 64K。 僅適用於 RPC over HTTP v2。
-
HKLM\Software\Microsoft\Rpc\InProxyReceiveWindow
DWORD。 出現時,指定 RPC Proxy 針對從用戶端接收的數據所使用的接收視窗。 最小有效值為8K。 最大值為 1GB。 如果值不存在,則會使用 64K。 僅適用於 RPC over HTTP v2。 對此值進行變更時,必須重新啟動 IIS,變更才會生效。
-
HKLM\Software\Microsoft\Rpc\OutProxyReceiveWindow
DWORD。 出現時,指定 RPC Proxy 針對從伺服器接收的數據所使用的接收視窗。 最小有效值為8K。 最大值為 1GB。 如果值不存在,則會使用 64K。 僅適用於 RPC over HTTP v2。 對此值進行變更時,必須重新啟動 IIS,變更才會生效。
-
HKLM\Software\Microsoft\Rpc\ServerReceiveWindow
DWORD。 出現時,指定伺服器針對從 RPC Proxy 接收的數據所使用的接收視窗。 最小有效值為8K。 最大值為 1GB。 如果值不存在,則會使用 64K。 僅適用於 RPC over HTTP v2。 對此值進行變更時,必須重新啟動 IIS,變更才會生效。
-
HKLM\Software\Policies\Microsoft\Windows NT\Rpc\MinimumConnectionTimeout
DWORD。 假如有提供的話,會以秒為單位指定用戶端和 RPC Proxy 所使用的最小連線逾時。 實際使用的逾時是此值和 IIS 閒置連線逾時之間的較小者。 如果值為零,或者密鑰如果沒有設定,則會使用 IIS 閒置連線逾時。 僅適用於 RPC over HTTP v2。 在 RPC Proxy 上對此值進行變更時,必須重新啟動 IIS,變更才會生效。
-
HKLM\Software\Microsoft\Rpc\UseProxyForIPAddrIfRDNSFails
當存在且設定為非零,且提供數值IP位址做為 RPC Proxy 位址時,透過 HTTP 用戶端的 RPC 會嘗試反向名稱解析,如果失敗,將會嘗試透過 HTTP Proxy 連線至 RPC Proxy。 可用來模擬需要這類行為的安裝上的 Windows NT 行為。 忽略 RPC over HTTP v2。 只有在使用 RPC over HTTP v1 時才使用。 僅支援 Windows 2000 Service Pack 3 (SP3) 和更新版本。
-
HKLM\Software\Microsoft\Rpc\RpcProxy\AllowAnonymous
DWORD。 當不存在或設定為零時,RPC Proxy 會檢查連線是否已通過驗證,以及是否使用 SSL 或其他形式的加密。 如果其中一個為 false,則會拒絕連線。 如果這個值包含非零,則允許匿名和非加密的連線。 此設定是對於任何虛擬目錄設定的附加功能。 例如,如果虛擬目錄層級上停用匿名存取,但 AllowAnonymous 為非零,則 IIS 層級仍會封鎖匿名存取。 僅適用於 RPC over HTTP v2 的 RPC Proxy。 在 RPC Proxy 上對此值進行變更時,必須重新啟動 IIS,變更才會生效。
警告
Microsoft強烈建議您出於安全考量,避免在生產系統上設定 AllowAnonymous 值。 應該設定此金鑰的唯一原因是要在沒有外部存取的封閉式網路上進行測試。 任何連線到因特網並執行 RPC Proxy 且具有 AllowAnonymous 機碼設定為非零值的系統,都可能會容易受到攻擊。