Exchange 2010 のための Coexistence Free/Busy

2. Exchange 2010 のセットアップ

remotedomain.comという名前のリモートドメインのユーザーのFreebusyを要求する場合、Exchangeはautodiscover.remotedomain.comのDNSリクエストを行います。

Cloudiwayプラットフォームにリクエストを転送するには、DNSクエリAutodiscover.remotedomain.comはCloudiwayのIPアドレスに解決する必要があります。
したがって、Exchange 2010サーバーのすべてで、ホストファイルを編集してAutodiscover.remotedomain.comをCloudiwayによって提供されたIPにポイントする必要があります。
リクエストはCloudiwayに転送されます。
ただし、トラフィックはSSL/TLS接続にカプセル化されます。
ExchangeはAutodiscover.remotedomain.comというサーバーの名前でHTTPSリクエストを送信します。

Cloudiwayが適切に応答するためには、CloudiwayはAutodiscover.remotedomain.comの有効な証明書とそれに関連する秘密キーを所有する必要があります。
1つのサーバーにインストールできるSSL証明書は1つだけであるという技術的な制限もあります。

実際、Exchange(クライアントとして動作する)がCloudiwayにSSL接続を開くと、CloudiwayはExchangeがどのサーバー名に接続しようとしているかを知らず、異なる証明書の中から選択することはできません。
したがって、ファーム内のサーバーごとに1つの証明書しかインストールできず、Autodiscover.remotedomain.comというサーバー名を指すサーバーにExchangeが接続すると、Cloudiwayはこのサーバー名の証明書を返します。

このため、Exchange 2010サーバーを接続する場合、Cloudiwayの側に専用のサーバーが必要となります(関連する証明書を「ホスト」するサーバー)。 Freebusyの複数のドメインを照会できるようにする場合、ドメインの数だけ証明書と専用のサーバーが必要となります。

これはすぐにコストがかかる可能性があり、このシナリオにある場合は、この制限とコストを回避するためにExchange 2013以降にアップグレードすることを検討するかもしれません。

3. Freebusyプロキシサーバーの設定

この記事では、Free/busyを照会する際にExchange On-Premisesがプロキシサーバーを使用するように設定する方法について説明します。

3.1. 背景

Microsoft Exchangeの可用性サービスは、OutlookまたはOWAを実行しているクライアントにfree/busy情報を提供します。Free/busyリクエストは、ユーザーのCASサーバーに送信され、そのリクエストはAvailability Serviceに転送されます。

このサービスはIIS(Internet Information Server)でホストされています。

3.2. 問題

デフォルトでは、Availability Serviceはシステムのプロキシ設定(IE設定)を使用しません。

したがって、外部システムに送信されるfree/busyリクエストはプロキシに転送されず、インターネットのターゲット(つまり、Cloudiwayサーバー)に到達しません。

3.3. 解決策

Exchange 2013およびExchange 2010の両方は、EWS URLがプロキシを経由してインターネットでのみ利用可能な場合、特定のsystem.netプロキシ設定が必要です。 これを設定する唯一の方法は、アプリケーションで使用されるweb.configファイルを編集することです。 最も簡単なアプローチは、Exchangeのweb.configファイルで変更を行うことですが、パッチ、累積更新、またはサービスパックによって変更が上書きされる可能性があります。これを回避する方法の1つは、Exchange Backend EWS web configの代わりに、ルートweb.configのsystem.netプロキシ設定を設定することです。

System.Net XMLノードはデフォルトでファイルに含まれていないため、<system.web>と同じレベルに追加する必要があります。

Exchangeファイルの構文の例。

場所:C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess\exchweb\ews\web.config

 </system.web>
<system.net>
	<defaultProxy>
		<proxy
			usesystemdefault = "false"
			proxyaddress = "http://proxyserver:port/"
			bypassonlocal = "true"
		/>
		<bypasslist>
			<add address="http://[a-z]+/.contoso/.com$" />
		</bypasslist>
	</defaultProxy>
</system.net>
3.4. Bypasslistノードに関する注記

この変更を行った後、Availability Serviceで処理されるすべての呼び出しがプロキシに送信されます。

bypasslistノードを使用して、どのリクエストを直接送信するか(プロキシを介さずに)を定

義できます。

ローカルサーバーは、正規表現の構文を使用して表される必要があります。参照: https://msdn.microsoft.com/en-us/library/aa903323(v=vs.71).aspx

MSDNの記事に基づいて、正規表現形式でドメインも追加する必要があります。以下にいくつかのサンプルを示します:

構文:<bypasslist> Element

company.comのすべてのサーバーについて:

[a-z,0-9]+.company.com

..company.comについては、以下を追加する可能性があります:

[a-z,0-9]+.[a-z,0-9]+.xxx.com

..company.com:444の場合、以下を追加する可能性があります:

[a-z,0-9]+.[a-z,0-9]+.xxx.com.[0-9]+