Categories: Exchange

Exchange 2013: протокол MAPI over HTTP

В Exchange 2013 SP1 появился новый протокол для клиентских подключений к почтовому ящику — MAPI over HTTP (MAPI/HTTP). Данный протокол предназначен для улучшения стабильности и надежности подключения Outlook к серверу Exchange за счет переноса транспорта на уровень HTTP. В этой статье мы расскажем об архитектуре, особенностях работы этого протокола и приведем небольшую инструкцию по его настройке.

В предыдущих версиях Outlook мог взаимодействовать с Exchange по протоколу RPC . В Exchange 2003 появилась еще один протокол подключения — RPC over HTTP (или Outlook Anywhere ). Этот протокол преимущественно использовался для безопасного подключения к Exchange серверу внешних клиентов. В Exchange 2013 Outlook Anywhere по умолчанию используется для взаимодействия как с внешними, так и с внутренними клиентами. По сути, при взаимодействии по этому протоколу MAPI трафик заворачивался сначала в RPC, потом RPC в HTTP и только потом HTTP пакет передавался серверу. Основным недостатком протокола RPC over HTTP является плохая стабильность работы на неустойчивых соединениях (в общедоступных Wi-Fi сетях или через Интернет).

MAPI over HTTP (на самом деле используется HTTPS) исключает из схемы протокол RPC и основан на HTTP 1.1, т.е. клиенты для взаимодействия с сервером используют команду POST. Outlook, подключенный через MAPI over HTTP работает так же, как и EWS, EAS или OWA. При его использовании лучше отрабатывают сценарии переключения между сетями, сбои в сети, выход из спящего режима и режима гибернации и т.д.

Преимущества MAPI over HTTP

  • Быстрое переподключение при разрыве связи (переустанавливается только TCP, а не RPC соединение)
  • Независимость содержимого сессии от подключения (пользователь в рамках сессии может сменить сеть подключения)
  • Аутентификация с помощью HTTP протокола

Первоначально, MAPI/HTTP на стороне клиента поддерживался только в Outlook 2013 SP1, но сейчас, после установки обновления 2899591 ( https://support.microsoft.com/en-us/kb/2899591/en-us ), он будет работать также и в Outlook 2010.

Чтобы включить поддержку MAPI over HTTP , система должна соответствовать требованиям:

  • На CAS серверах должен быть установлен Exchange 2013 SP1
  • Для оптимальной производительности MAPI/HTTP должен быть установлен .NET framework 4.5.2
  • В качестве клиентов используется Outlook 2013 SP1 или Outlook 2010 с обновлением KB2899591

После установки Exchange 2013 SP1 на CAS сервере должна появиться виртуальная директория MAPI. Сам протокол MapiOverHTTP при этом отключен.

Проверим, что атрибут ExternalUrl пустой:

Get-MapiVirtualDirectory | ft server, *url*

ExternalUrl, как мы видим, пустой, нам нужно его заполнить (в данном примере мы зададим и ExternalUrl и Internal Url, учтите что сертификат Exchange должен соответствовать адресам, указанным во внешнем и внутренним URL адресах).

Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -InternalUrl –ExternalUrl -IISAuthenticationMethods NTLM,Negotiate

Осталось активировать MAPI over HTTP на уровне организации Exchange. Убедимся, что протокол отключен:

Get-OrganizationConfig | FL *mapi*

Проверим также, на данный момент Outlook для подключения к Exchange использует протокол RPC/HTTP.

Активируем поддержку протокола MAPI/HTTP со стороны сервера:

Set-OrganizationConfig -MapiHttpEnabled $true

После выполнения команды нужно подождать около часа для применения всех изменений на стороне Exchange. Если нужно, ускорить процесс можно перезапуском MS Exchange Host Service и пула Autodiscover на Mailbox сервере.

При выполнении авто обнаружения (Autodiscover) , Outlook запросит у сервера возможность поддержки MAPI over HTTP ( X-MapiHttpCapability ). Если сервер поддерживает этот протокол, то клиент получит ответ с данными НТТР.

При переключении на новый протокол Outlook выдает предупреждение:

The Microsoft Exchange administrator has made a change that requires you quit and restart Outlook.

После перезапуска Outlook должен подключиться к ящику по протоколу MAPI over HTTP. Об этом будет свидетельствовать строка HTTP в колонке протокола в свойствах подключения Outlook.

Проверить возможность подключения по новому протоколу можно, перейдя на URL . Таким нехитрым способом мы узнаем имя CAS сервера, на котором мы авторизовались и имя Mailbox сервера.

Добавив в URL значение ?Showdebug=yes можно вывести более интересную информацию. ( _https://mail.contoso.com/mapi/emsmdb/?showdebug=yes )

Также проверить работу нового протокола можно с помощью командлета Powershll Test-OutlookConnectivity:

Test-OutlookConnectivity -RunFromServerId serv3 -ProbeIdentity OutlookMapiHttpSelfTestProbe

Траблшутинг :

Логи нового протокола хранятся здесь:

  • CAS: %ExchangeInstallPath%LoggingHttpProxyMapi
  • Mailbox Server: %ExchangeInstallPath%LoggingMAPI Client Access
  • Mailbox Server: %ExchangeInstallPath%LoggingMAPI Address Book Service

При включении поддержки MAPI over HTTP в группе DAG все сервера должны его поддерживать, в противном случае клиенты не смогут пользоваться своими ящиками.

По оценкам Microsoft использование MAPI over HTTP несколько увеличивает нагрузку на CPU на серверах CAS, но уменьшает расход памяти для каждого пользоватлея на 50-60%.

Новый прокол подключения Outlook к ящикам Exchange выигрывает с точки зрения производительности и сетевой гибкости. По словам разработчикам Microsoft, возможно уже в Exchange Server 2016 протокол MAPI over HTTP станет основным протоколом подключения, а от RPC over HTTP будут постепенно отказываться.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago