Share via


使用 SharePoint、Exchange 及 RDG 發佈應用程式

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016

此內容與 Web 應用程式 Proxy 的內部部署版本相關。 若要在雲端上啟用內部部署應用程式的安全存取,請參閱 Microsoft Entra Application Proxy 內容

本主題說明透過 Web 應用程式 Proxy 發佈 SharePoint Server、Exchange Server 或遠端桌面閘道 (RDP) 需要進行的工作。

注意

此資訊依現況提供。 遠端桌面服務支援並建議使用 Azure 應用程式 Proxy 來提供對內部部署應用程式的安全遠端存取

發行 SharePoint Server

在 SharePoint 網站設定為宣告式驗證或整合式 Windows 驗證時,您可以透過 Web 應用程式 Proxy 發佈 SharePoint 網站。 如果要使用 Active Directory 同盟服務 (AD FS) 進行預先驗證,您必須使用其中一個精靈來設定信賴憑證者。

  • 如果 SharePoint 網站使用宣告式驗證,您必須使用 [新增信賴憑證者信任精靈] 來設定應用程式的信賴憑證者信任。

  • 如果 SharePoint 網站使用整合式 Windows 驗證,您必須使用 [新增非宣告式信賴憑證者信任精靈] 來設定應用程式的信賴憑證者信任。 您可以使用 IWA 搭配宣告式 Web 應用程式,前提是您設定 KDC。

    若要允許使用者使用整合式 Windows 驗證進行驗證,則必須將 Web 應用程式 Proxy 伺服器加入網域。

    您必須將應用程式設定為支援 Kerberos 限制委派。 您可以在網域控制站上為任何應用程式執行這項操作。 如果應用程式是在 Windows Server 2012 R2 或 Windows Server 2012 上執行,您也可以在直接在後端伺服器上設定應用程式。 如需詳細資訊,請參閱 Kerberos 驗證的新功能。 您必須同時確保 Web 應用程式 Proxy 伺服器已設定為委派給後端伺服器的服務主體名稱。 如需如何設定 Web 應用程式 Proxy 以發佈使用整合式 Windows 驗證之應用程式的逐步解說,請參閱設定網站使用整合式 Windows 驗證

如果您的 SharePoint 網站是使用備用存取對應 (AAM) 或主機名稱為網站集合加以設定,您可以使用不同的外部和後端伺服器 URL 來發行您的應用程式。 不過,如果您未使用 AAM 或主機名稱網站集合設定您的 SharePoint 網站,您必須使用相同的外部和後端伺服器 URL。

發行 Exchange Server

下表說明您可以透過 Web 應用程式 Proxy 發佈的 Exchange 服務,以及這些服務支援的預先驗證:

Exchange 服務 預先驗證 備註
Outlook Web App - AD FS 使用非宣告式驗證
- 傳遞
- AD FS 對內部部署 Exchange 2013 Service Pack 1 (SP1) 使用宣告式驗證
如需詳細資訊,請參閱:使用 AD FS 宣告式驗證搭配 Outlook Web App 和 EAC
Exchange 控制台 穿透
Outlook 無所不在 穿透 您必須發佈其他 URL,Outlook 無所不在才能正常運作:

- 自動探索、EWS 和 OAB (在 Outlook 快取模式下) URL。
- Exchange Server 的外部主機名稱;也就是設定為供用戶端連線到的 URL。
- Exchange Server 的內部 FQDN。

Exchange ActiveSync 穿透
使用 HTTP 基本授權通訊協定的 AD FS
Exchange Web 服務 穿透
自動探索 穿透
離線通訊錄 穿透

若要使用整合式 Windows 驗證來發行 Outlook Web App,您必須使用 [新增非宣告式信賴憑證者信任精靈] 來設定應用程式的信賴憑證者信任。

若要允許使用者使用 Kerberos 限制委派進行驗證,則必須將 Web 應用程式 Proxy 伺服器加入網域。

您必須設定應用程式,以支援 Kerberos 驗證。 此外,您必須向執行 Web 服務的帳戶註冊服務主體名稱 (SPN)。 您可以在網域控制站或後端伺服器上執行此動作。 在負載平衡的 Exchange 環境中,這需要使用替代服務帳戶,請參閱為負載平衡的用戶端存取伺服器設定 Kerberos 驗證

如果應用程式是在 Windows Server 2012 R2 或 Windows Server 2012 上執行,您也可以直接在後端伺服器上設定應用程式。 如需詳細資訊,請參閱 Kerberos 驗證的新功能。 您必須同時確保 Web 應用程式 Proxy 伺服器已設定為委派給後端伺服器的服務主體名稱。

透過 Web 應用程式 Proxy 發佈遠端桌面閘道

如果要限制存取遠端存取閘道並為遠端存取新增預先驗證,您可以透過 Web 應用程式 Proxy 推出遠端桌面閘道。 這是一個非常好的方法,可確保您具有豐富的 RDG 預先驗證 (包括 MFA)。 您也可以選擇在沒有預先驗證的情況下發佈遠端桌面閘道,並提供系統的單一進入點。

如何使用 Web 應用程式 Proxy 傳遞驗證在 RDG 中發佈應用程式

  1. 取決於 RD Web 存取 (/rdweb) 和 RD 閘道 (rpc) 角色是位於相同的伺服器還是不同的伺服器上,安裝會有所不同。

  2. 如果 RD Web 存取和 RD 閘道角色裝載在相同的 RDG 伺服器上,您可以直接在 Web 應用程式 Proxy 中發佈根 FQDN,例如 https://rdg.contoso.com/

    您也可以個別發佈這兩個虛擬目錄,例如 https://rdg.contoso.com/rdweb/https://rdg.contoso.com/rpc/

  3. 如果 RD Web 存取和 RD 閘道裝載在不同的 RDG 伺服器上,您必須個別發佈這兩個虛擬目錄。 您可以使用相同或不同的外部 FQDN,例如 https://rdweb.contoso.com/rdweb/https://gateway.contoso.com/rpc/

  4. 如果外部和內部 FQDN 不同,您不應該停用 RDWeb 發佈規則上的要求標頭轉譯。 您可以透過在 Web 應用程式 Proxy 伺服器上執行下列 PowerShell 指令碼來完成此動作,但預設應該已啟用。

    Get-WebApplicationProxyApplication applicationname | Set-WebApplicationProxyApplication -DisableTranslateUrlInRequestHeaders:$false
    

    注意

    如果您需要支援豐富的用戶端 (例如 RemoteApp 和桌面連線或 iOS 遠端桌面連線),但這些用戶端不支援預先驗證,因此您必須使用傳遞驗證來發佈 RDG。

如何使用具有預先驗證的 Web 應用程式 Proxy 在 RDG 中發佈應用程式

  1. RDG 的 Web 應用程式 Proxy 預先驗證的運作方式是:將 Internet Explorer 取得的預先驗證 Cookie 傳遞到遠端桌面連線用戶端 (mstsc.exe)。 然後,由遠端桌面連線用戶端 (mstsc.exe) 使用。 然後,由遠端桌面連線用戶端用作驗證證明。

    下列程序指出集合伺服器應在傳送至用戶端的遠端應用程式 RDP 檔案中包含必要的自訂 RDP 屬性。 這表示用戶端需要進行預先驗證,才能將預先驗證伺服器位址的 Cookie 傳遞到遠端桌面連線用戶端 (mstsc.exe)。 結合在 Web 應用程式 Proxy 應用程式上停用 HttpOnly 功能,如此即可允許遠端桌面連線用戶端 (mstsc.exe) 利用透過瀏覽器取得的 Web 應用程式 Proxy Cookie。

    驗證 RD Web 存取伺服器仍會使用 RD Web 存取表單登入。 這會提供最少的使用者驗證提示,因為 RD Web 存取登入表單會建立用戶端認證存放區,以供遠端桌面連線用戶端 (mstsc.exe) 用於任何後續的遠端應用程式啟動。

  2. 首先,請在 AD FS 中建立手動信賴憑證者信任,就像您發佈宣告感知應用程式一樣。 這表示您必須建立虛擬信賴憑證者信任,以強制執行預先驗證,如此一來,您不需要對已發佈的伺服器進行 Kerberos 限制委派,即可取得預先驗證。 一旦使用者通過驗證,其他所有內容都會通過驗證。

    警告

    使用委派似乎比較好,但並無法完全解決 mstsc SSO 需求,而且在委派給 /rpc 目錄時會發生問題,因為用戶端預期會處理 RD 閘道驗證本身。

  3. 若要建立手動信賴憑證者信任,請遵循 [AD FS 管理主控台] 中的步驟:

    1. 使用 [新增信賴憑證者信任] 精靈。

    2. 選取 [手動輸入信賴憑證者的相關資料]。

    3. 接受所有預設設定。

    4. 對於信賴憑證者信任識別碼,請輸入您將用於 RDG 存取的外部 FQDN,例如 https://rdg.contoso.com/

      這是您在 Web 應用程式 Proxy 中發佈應用程式時將使用的信賴憑證者信任。

  4. 在 Web 應用程式 Proxy 中發佈網站根目錄 (例如 https://rdg.contoso.com/)。 將預先驗證設定為 AD FS,並使用您在上面建立的信賴憑證者信任。 這將使 /rdweb 和 /rpc 使用相同的 Web 應用程式 Proxy 驗證 Cookie。

    您可以將 /rdweb 和 /rpc 發佈為個別的應用程式,甚至是使用不同的已發佈伺服器。 只需確保兩者是使用相同的信賴憑證者信任發佈的,因為 Web 應用程式 Proxy 權杖是針對信賴憑證者信任發行的,因此在使用相同信賴憑證者信任發佈的應用程式之間都有效。

  5. 如果外部和內部 FQDN 不同,您不應該停用 RDWeb 發佈規則上的要求標頭轉譯。 您可以透過在 Web 應用程式 Proxy 伺服器上執行下列 PowerShell 指令碼來完成此作業,但預設應該已啟用:

    Get-WebApplicationProxyApplication applicationname | Set-WebApplicationProxyApplication -DisableTranslateUrlInRequestHeaders:$true
    
  6. 在 RDG 已發佈的應用程式上,停用 Web 應用程式 Proxy 中的 HttpOnly Cookie 屬性。 若要允許 RDG ActiveX 控制項存取 Web 應用程式 Proxy 驗證 Cookie,您必須停用 Web 應用程式 Proxy Cookie 上的 HttpOnly 屬性。

    這要求您安裝 Windows RT 8.1、Windows 8.1 和 Windows Server 2012 R2 的 2014 年 11 月的更新彙總套件 (KB3000850)

    安裝 Hotfix 之後,請在指定相關應用程式名稱的 Web 應用程式 Proxy 伺服器上執行下列 PowerShell 指令碼:

    Get-WebApplicationProxyApplication applicationname | Set-WebApplicationProxyApplication -DisableHttpOnlyCookieProtection:$true
    

    停用 HttpOnly,可允許 RDG ActiveX 控制項存取 Web 應用程式 Proxy 驗證 Cookie。

  7. 在集合伺服器上設定相關的 RDG 集合,遠端桌面連線用戶端 (mstsc.exe) 就會知道 RDP 檔案中需要預先驗證。

    • 在 Windows Server 2012 和 Windows Server 2012 R2 中,您可以透過在 RDG 集合伺服器上執行下列 PowerShell Cmdlet 來完成此作業:

      Set-RDSessionCollectionConfiguration -CollectionName "<yourcollectionname>" -CustomRdpProperty "pre-authentication server address:s: <https://externalfqdn/rdweb/>`nrequire pre-authentication:i:1"
      

      在您將 < 和 > 括弧內的文字取代為您自己的值時,請務必移除 < 和 > 括弧,例如:

      Set-RDSessionCollectionConfiguration -CollectionName "MyAppCollection" -CustomRdpProperty "pre-authentication server address:s: https://rdg.contoso.com/rdweb/`nrequire pre-authentication:i:1"
      
    • 在 Windows Server 2008 R2 中,請執行下列動作:

      1. 使用具有系統管理員權限的帳戶登入終端機伺服器。

      2. 移至 [開始][>系統管理工具]>[終端機服務]>[TS RemoteApp 管理員]。

      3. 在 [TS RemoteApp 管理員] 的 [概觀] 窗格中,按一下 [RDP 設定] 旁的 [變更]。

      4. 在 [自訂 RDP 設定] 索引標籤上,於 [自訂 RDP 設定] 方塊中輸入下列 RDP 設定:

        pre-authentication server address: s: https://externalfqdn/rdweb/

        require pre-authentication:i:1

      5. 完成後,請按一下 [套用]。

        這指出集合伺服器應在傳送至用戶端的 RDP 檔案中包含自訂 RDP 屬性。 這表示用戶端需要進行預先驗證,才能將預先驗證伺服器位址的 Cookie 傳遞到遠端桌面連線用戶端 (mstsc.exe)。 如此,結合在 Web 應用程式 Proxy 應用程式上停用 HttpOnly 功能,即可允許遠端桌面連線用戶端 (mstsc.exe) 利用透過瀏覽器取得的 Web 應用程式 Proxy 驗證 Cookie。

        如需 RDP 的詳細資訊,請參閱設定 TS 閘道 OTP 案例