Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
What is Remote Procedure Call over HTTP (RPC over HTTP)?
Remote Procedure Call over HTTP (RPC over HTTP) is a Microsoft protocol that enables Microsoft Outlook clients to access Microsoft Exchange servers over HTTP. It is used to communicate RPC traffic over an HTTP connection.
Through RPC over HTTP, RPC clients can efficiently and securely connect to RPC server programs across the internet and execute Remote Procedure Calls. The client and server communicate through an RPC Proxy which functions as an intermediary.
RPC over HTTP explained
For most internet browser applications, HTTP is the primary means of accessing and browsing the world wide web. Microsoft uses HTTP to extend the capabilities of its Internet Information Server (IIS) to enable remote procedure call services via the RPC over HTTP protocol.
RPC clients can execute procedures provided by server programs on remote networks with the help of the RPC Proxy, which runs on an IIS server. It executes the following procedure calls:
- accepts RPC requests coming from the internet;
- performs various checks on these requests, including access, authentication and validation;
- forwards the request to the RPC server for processing if the request passes all tests; and
- sends the server’s replies back to the client application across the internet.
The RPC over HTTP protocol uses two long-lived HTTP connections: one for request data and another for response data. The protocol can tunnel multiple requests and responses in a single HTTP request.
The need for RPC over HTTP
RPC over HTTP plays a key role in connecting an authorized Outlook user outside the corporate network (i.e., a remote user) with the internal Exchange server. To establish this connection, the client accesses a reverse proxy (e.g., WebSEAL) using an HTTP connection.
The connection terminates inside the network and a configured IIS relays the RPC commands to the Exchange server. This allows the remote user to access the internal Exchange server.
How RPC over HTTP works
The goal of RPC over HTTP is to allow client programs to effectively execute procedures provided by server programs on remote networks using the internet. The protocol accomplishes this by tunneling its calls through an established HTTP port, which allows calls to cross network firewalls across both client and server networks. The RPC proxy on the RPC server’s network plays an important role in enabling remote access and remote procedure execution.
Here’s how the process works:
- The RPC client executes a remote procedure and routes the call to its network firewall/proxy.
- This network firewall/proxy sends the remote procedure call to the RPC server’s network over the internet.
- The RPC server’s network firewall receives this remote procedure call.
- When the call is received, the network firewall transfers the call to the IIS server.
- The IIS server sends the call to the RPC server.
- The RPC server executes the call and sends a reply to the IIS server.
- The IIS server sends the reply to the network firewall.
- The RPC server’s network firewall forwards the reply to the client network over the internet.
- The client’s firewall/proxy receives the reply.
- The client’s firewall/proxy transfers the RPC server program’s reply to the RPC client application, completing the cycle.
If either the server or the client gets disconnected, the RPC Proxy detects it and terminates the RPC session. If the session continues, the RPC Proxy will:
- maintain its connections to the client and the server;
- forward remote procedure calls from the client to the server; and
- send replies from the server to the client.
If the client network has a firewall, a proxy server program such as Microsoft Proxy Server is required for RPC over HTTP to operate.
Versions of RPC over HTTP
Microsoft offers two versions of RPC over HTTP: Version 1 and Version 2, which have different capabilities and limited interoperability.
Version 1, or RPC over HTTP v1, is supported through Windows XP. Version 1 of the RPC Proxy is supported through Windows 2000. To use this protocol, SSL tunneling must be enabled on all HTTP proxies/firewalls between the RPC over HTTP client and the RPC Proxy. Also, v1 cannot authenticate to the RPC Proxy.
Version 2, or RPC over HTTP v2, is the current version of the protocol. It doesn’t require SSL tunneling to be enabled on all HTTP proxies/firewalls between the RPC over HTTP client and the RPC Proxy. Additionally, it can send all RPC over HTTP traffic within an SSL session and requires authentication to the RPC Proxy by default.
Another difference between the two versions is how the RPC Proxy operates in a web farm. If the RPC Proxy v1 is installed on an IIS machine that is part of a web farm, it will not operate correctly. RPC proxy v2 operates correctly.
Security in RPC over HTTP
In addition to standard RPC security mechanisms, RPC over HTTP provides the following types of security:
- IIS authentication;
- traffic encryption; and
- restricting RPC over HTTP calls to certain devices.
These additional security features ensure that RPC over HTTP traffic is protected both by RPC and the protocol’s tunneling mechanism. It is this tunneling mechanism that provides double-layered security to standard RPC security by:
- leveraging the authentication mechanism of IIS (for RPC over HTTP v2 only);
- encrypting traffic between the RPC over HTTP client and the RPC proxy with SSL (for RPC over HTTP v2 only);
- ensuring that the RPC proxy cannot access the data being sent; and
- restricting RPC Proxy levels and limiting which machines on the server network can receive RPC over HTTP calls.
See also: Outlook Anywhere, gRPC, SOAP, Network Information System
This was last updated in April 2022
Continue Reading About RPC over HTTP
- The architectural impact of RPC in distributed systems
- How to set up Office 365 modern authentication
- 12 Microsoft Exchange Server security best practices
- Reduce your risk with Exchange Server security best practices
- Synchronous vs. asynchronous communications: The differences
Dig Deeper on Mobile security
-
What is HTTP and how does it work? Hypertext Transfer Protocol
By: Rahul Awati
-
What is a web server?
By: Rahul Awati
-
Outlook Anywhere
By: Rahul Awati
-
gRPC
By: Linda Rosencrance
Новая возможность Outlook 2003 для доступа к почтовому ящику Exchange
Благодаря сочетанию Microsoft Outlook 2003, Windows Server 2003 и Microsoft Exchange Server 2003 открываются новые возможности для подключения клиента Outlook 2003 к Exchange 2003 по каналам HTTP. Соединение не просто использует HTTP: Outlook заключает вызов удаленных процедур (RPC) к Exchange 2003 в оболочку HTTP, обеспечивая соединение локального клиента Outlook 2003 с удаленным сервером Exchange 2003 с любой машины, располагающей Web-браузером. Это полезный метод, особенно если учесть недостатки других способов: Outlook Web Access (OWA), который совершенствуется, но по-прежнему уступает полноценному клиенту Outlook, или доступ к Outlook через соединение VPN, которое часто блокируется сетевыми провайдерами. Чтобы использовать RPC over HTTP, необходимо понимать механизм и требования к конфигурациям как клиента, так и сервера.
Взаимодействие Outlook и Exchange
Во всех версиях Outlook для взаимодействия с любой версией Exchange Server применяется интерфейс Messaging API (MAPI) и вызовы удаленных процедур (RPC) для обработки вызовов MAPI. Протокол RPC не располагает встроенными функциями повышения надежности, это свойство определяется базовым транспортным протоколом, таким как TCP/IP. При использовании менее надежного транспортного средства, например UDP, приложение на базе RPC должно обеспечить функции тайм-аута и повторной пересылки.
RPC-соединения Outlook-Exchange начинаются с процедуры квитирования между клиентом Outlook и сервером Exchange через хорошо известный порт (например, UDP-порт 135 — порт подключения конечных точек RPC) с последующей организацией канала связи через динамически назначаемый порт (обычно в диапазоне от 1024 до 1100). Назначать порты можно с помощью параметров реестра, но обычно администраторы сетей и брандмауэров не разрешают организовывать соединения RPC через общедоступные сети TCP/IP. Кроме того, из-за серьезных проблем с безопасностью RPC-службы Windows NT в прошлом большинство сетевых администраторов блокируют порты 135, 137, 139 и 445, чтобы помешать проходу внешних тестовых сообщений RPC через брандмауэр. Эти ограничения приводят к тому, что нельзя использовать Outlook в сети одной компании, чтобы установить соединение через Internet с сервером Exchange в сети другой компании. Вместо того чтобы возложить согласование RPC по каналам TCP/IP на администраторов сетей и брандмауэров, разработчики Microsoft модернизировали механизм RPC в Outlook и Exchange, обеспечив связь поверх протокола HTTP.
Благодаря новым функциям можно установить возвратный proxy-сервер (reverse proxy server) HTTP и использовать протокол HTTP для внешних соединений. Как правило, для связи применяется стандартный порт 80 или какая-нибудь его разновидность (например, 8080 или 8088). После настройки браузера Microsoft Internet Explorer (IE) на клиентском компьютере для работы с proxy-сервером любое приложение может задействовать протокол HTTP для соединений клиент/сервер. Протокол Secure HTTP (HTTPS) также обычно доступен через порт 443.
Требования RPC over HTTP
Для соединения RPC over HTTP между Outlook и Exchange необходимо, чтобы на клиентском компьютере были установлены Windows XP Service Pack 1 (SP1) и исправление, описанное в статье Microsoft «Outlook 11 Performs Slowly or Stops Responding When Connected to Exchange Server 2003 Through HTTP» (http://support.microsoft.com/?kbid=331320). На клиенте должен работать Outlook 2003 (при подготовке данной статьи использовалась вторая бета-версия, сборка 4920).
На сервере должна быть установлена Windows 2003, чтобы использовать службу Microsoft Internet Information Services (IIS) 6.0 в режиме Worker Process Isolation Mode. Windows 2003 должна работать на всех системах, устанавливающих связь с клиентом Outlook 2003, в том числе серверах Exchange, серверах глобального каталога (Global Catalog, GC) и контроллерах домена (DC).
Архитектура RPC over HTTP
Архитектура RPC over HTTP напоминает модель внешний/внутренний сервер (front end/back end server), впервые примененную Microsoft в Exchange 2000 Server и используемую в OWA, IMAP и POP3. Outlook 2003 связывается через протокол 2003 с proxy-сервером RPC, также известным как внешний proxy-сервер RPC. Proxy-сервер RPC действует от имени клиента, устанавливая RPC-соединения с внутренним сервером, на котором размещается почтовый ящик клиента. Соединения показаны на рисунке 1.
Рисунок 1. Архитектура RPC over HTTP для Outlook и Exchange |
Следует отметить важные особенности архитектуры. Во-первых, RPC-посредник не обязательно должен быть системой Exchange 2003, так как proxy-сервер не использует в своей работе компонентов Exchange. Функции посредника возлагаются на фильтр Internet Server API (ISAPI) в IIS 6.0, поэтому единственное требование к системе — наличие Windows 2003. Во-вторых, proxy-сервер RPC — простая функция IIS 6.0, поэтому его можно разместить на системе Exchange 2003. И в-третьих, на системе Exchange 2003 можно разместить и GC-сервер, хотя делать этого не рекомендуется, чтобы не снижалась производительность и сохранялась корректность технических решений. Поэтому все серверные компоненты, показанные на рисунке 1, могут сосуществовать на одной серверной машине.
Следует также рассмотреть возможность размещения сервера относительно внутренних и внешних брандмауэров и образуемой в результате демилитаризованной зоны (DMZ). Proxy-сервер RPC можно разместить в DMZ, а серверы Exchange и другие серверы Active Directory (AD) — во внутренней части сети (рисунок 2). Но поскольку во внутреннем брандмауэре требуется открыть больше портов, данная конфигурация связана с излишним риском и использовать ее обычно не рекомендуется. Риск особенно высок при динамическом назначении портов, которые открываются для RPC-соединений между proxy-сервером RPC и почтовым сервером Exchange 2003. Теоретически эти порты лежат в диапазоне от 1024 до 65535, но в процессе реализации RPC over HTTP требуется определить более узкий диапазон (от порта 6001 до порта 6004). Диапазон задается с помощью параметров реестра, которые будут рассмотрены в следующем разделе. В дополнение к портам, показанным на рисунке 2, proxy-сервер RPC может затребовать порт 88 (UDP/TCP) для служб Kerberos, порт 53 (UDP/TCP) для запросов DNS, порт 445 для Server Message Block (SMB) службы NetLogon и порты для любых других протоколов, необходимых для управления и мониторинга служб.
Рисунок 2. Proxy-сервер RPC, расположенный внутри DMZ. |
Лучше разместить proxy-сервер RPC во внутренней части сети и использовать универсальный ретранслятор HTTP в DMZ (рисунок 3). В данной конфигурации предусматривается лишь одно соединение от ретранслятора HTTP в DMZ (в данном случае Microsoft Internet Security и Acceleration-ISA-server) к proxy-серверу RPC во внутренней сети. Данное соединение может быть установлено через базовый протокол HTTP (порт 80) или зашифровано с использованием SSL (Secure Sockets Layer — порт 443). Можно также задействовать функции шифрования RPC over HTTP программы Outlook 2003. При использовании данного подхода можно применять несколько способов защиты соединений. Самый обычный метод — завершить SSL-соединение на proxy-сервере ретрансляции HTTP и установить простое соединение HTTP с RPC-посредником. Этот подход широко распространен, так как подобные proxy-серверы HTTP обычно оснащены аппаратными акселераторами шифрования SSL. Альтернативный подход — провести туннель для входящего SSL-соединения через proxy-сервер HTTP и возложить задачу SSL-шифрования на proxy-сервер RPC. Или же proxy-сервер HTTP может завершить исходящий сеанс SSL и установить новый сеанс SSL с proxy-сервером RPC.
Рисунок 3. Proxy-сервер RPC, расположенный во внутренней сети |
Конфигурирование RPC over HTTP на серверах
Для реализации RPC over HTTP необходимо выполнить на серверах несколько изменений. Прежде всего нужно убедиться, что на сервере, применяемом в качестве сервера-посредника RPC, установлена служба RPC over HTTP Proxy. Для этого следует открыть утилиту Add/Remove Programs панели управления и щелкнуть на вкладке Add/Remove Windows Components. Затем нужно отметить пункт Networking Services, убедиться, что выбрана служба RPC over HTTP (экран 1) и щелкнуть на кнопке OK, чтобы развернуть службу.
Экран 1. Установка службы RPC over HTTP Proxy |
После установки службы RPC over HTTP Proxy необходимо перейти к объекту Web SitesDefault Web SiteRPC Virtual Directory в оснастке IIS Manager консоли управления Microsoft Management Console (MMC) и открыть диалоговое окно Properties объекта (экран 2). Следует перейти к вкладке Directory Security, выбрать раздел Authentication and access control, а затем запретить Anonymous access и разрешить режим Integrated Windows Authentication или, если используется SSL, режим Basic authentication. Если выбран режим Basic authentication, то мандат передается открытым текстом, но соединение защищено благодаря SSL, поэтому такой подход вполне приемлем.
Далее требуется настроить конфигурацию сервера для работы в качестве посредника RPC. Для этого необходимо открыть редактор реестра, перейти в раздел реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpc RpcProxy и присвоить параметру ValidPorts значение с типом данных REG_SZ.
Устанавливая значение ValidPorts, необходимо указать каждый сервер, с которым может установить связь proxy-сервер RPC, в том числе все почтовые серверы Exchange 2003 и любые DC и GC, и назначить порт 593 для каждого сервера. Служба RPC over HTTP Endpoint Mapper использует порт 593 для организации соединения путем квитирования. В строке параметров также указывается диапазон портов для соединений. На экране 3 показан пример такой строки для сервера с именем osbex01. В зависимости от конкретной среды, расположения сервера и способа разрешения имен, иногда следует указать Fully Qualified Domain Name (FQDN) серверов в элементе реестра ValidPorts (если имена в сокращенном формате не обеспечивают корректного преобразования). На экране 6 видно, что в дополнение к параметрам для osbex01 указаны и соответствующие параметры для osbex01.osb.cantaz.net. Если роль GC-сервера выполняет тот же сервер, на котором работает Exchange 2003, то нет необходимости указывать GC отдельно от системы Exchange.
Очевидно, что при наличии десятков или сотен почтовых и GC-серверов обновление параметров ValidPorts реестра с указанием значений для каждого сервера — труднейшая задача. Поэтому мы надеемся, что Microsoft дополнит пакет Exchange 2003 утилитой, которая будет анализировать среду Exchange и автоматически обновлять данный параметр реестра.
Ограничение соединений RPC-посредника
Диапазон портов proxy-сервера RPC определяет область функционирования RPC over HTTP. Однако можно явно назначить порты, которые будут использоваться каждым сервером — участником соединений RPC over HTTP. Следует обратить внимание, что в бета-версиях Exchange 2003 в разделе реестра ValidPorts можно указать принимаемый по умолчанию диапазон 1024-65535, и любые внутренние серверы или GC будут динамически выбирать рабочие порты в этом диапазоне без дополнительной настройки. Из версии Release Candidate 0 эта функция удалена.
Самые существенные изменения требуется внести во внутренние почтовые серверы. Во-первых, необходимо определить порт, через который внутренний сервер устанавливает соединения RPC over HTTP с хранилищем Exchange Store. Для этого нужно присвоить параметру реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesMSExchangeISParametersSystemRPC/HTTP Port значение 6001 типа REG_DWORD.
Затем следует настроить внутренний сервер для перенаправления Directory Service (DS) Referral, присвоив параметру реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesMSExchangeSAParametersHTTP Port значение 6002 типа REG_DWORD. Затем внутренний сервер настраивается для доступа DS Proxy. Для этого параметру HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesMSExchangeISParametersSystemRPC/HTTP NSPI Port присваивается значение 6003 типа REG_DWORD. Эти изменения должны быть выполнены на всех внутренних серверах Exchange 2003, которые могут устанавливать соединения с proxy-сервером RPC.
Кроме того, необходимо настроить любые DC и GC, указанные в разделе реестра ValidPorts proxy-сервера RPC, для связи с proxy-сервером RPC через порты ограниченного диапазона. Следует перейти к элементу HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ServicesNTDSParametersNSPI interface protocol sequences реестра DC или GC-сервера и присвоить этому параметру значение ncacn_http:6004 типа REG_SZ.
Безопасные соединения
Соединения RPC over HTTP желательно устанавливать по каналам SSL, избегая незащищенных линий. В рекомендуемой конфигурации (см. рисунок 3) ретрансляционный proxy-сервер HTTP (ISA Server) завершает любые клиентские SSL-соединения и устанавливает отличные от SSL соединения с proxy-сервером RPC. Для этого необходимо установить серверный сертификат на ретрансляционном посреднике HTTP. Соответствующие сертификаты можно получить из коммерческой организации Certificate Authority (CA), такой как VeriSign или Thawte, либо использовать службу Microsoft Certificate Services для создания собственных сертификатов.
Раздел реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftRpc RpcProxyAllowAnonymous управляет работой proxy-сервера RPC с соединениями, отличными от SSL. Если данного раздела не существует или значение его параметра равно 0, то proxy-сервер RPC отвергает все отличные от SSL и неаутентифицированные соединения. Когда ретранслятор HTTP завершает SSL-соединение, последующее соединение с посредником RPC обычно не защищено SSL и поэтому будет отвергнуто. В данном случае можно присвоить параметру реестра значение 1-го типа REG_DWORD. Изменение вступает в силу после перезапуска службы IIS на proxy-сервере RPC.
В целях безопасности в текущей документации Microsoft такие изменения рекомендуется вносить только на непроизводственных системах. Однако во многих рабочих средах необходима следующая конфигурация: SSL-соединение завершается на proxy-серверах HTTP, а с proxy-сервером RPC устанавливаются отличные от SSL соединения. Необходимо взвесить все за и против и выбрать оптимальную конфигурацию для конкретной среды.
Настройка клиента
Некоторые изменения требуется внести и в профиль Messaging API (MAPI), чтобы позволить клиенту Outlook 2003 установить связь с сервером по HTTP. Если у пользователя уже имеется профиль MAPI, то доступ к его свойствам можно получить, выбрав соответствующий профиль MAPI в утилите Mail панели управления. Нужно выбрать пункты Change, More Settings, а затем перейти к вкладке Connection. Затем следует установить флажок Connect to my Exchange mailbox using HTTP и щелкнуть на кнопке Exchange Proxy Settings, чтобы завершить настройку конфигурации. В диалоговом окне (экран 4) требуется ввести URL, чтобы направить клиента на proxy-сервер RPC. Этот URL может быть значением, объявляемым ретрансляционным proxy-сервером HTTP (для последующего перенаправления пакетов в proxy-сервер RPC). В режиме Basic Authentication префикс URL автоматически изменяется с http на https, поэтому может использоваться только безопасное соединение. Если режим с подключением через протокол HTTP отключен, необходимо убедиться, что установлены XP SP1 и упомянутая выше программа коррекции. Можно установить флажок Mutually authenticate the session when connecting with SSL. В результате proxy-сервер RPC (или ретрансляционный proxy-сервер HTTP) аутентифицирует подключающегося клиента с помощью как клиентского, так и серверного сертификата. В этом режиме клиент должен передать в модуль Security Support Provider (SSP) сервера ожидаемое имя сервера Principal name. Согласно стандартным синтаксическим правилам Microsoft, за префиксом msstd: следует FQDN proxy-сервера RPC (экран 4).
Экран 4. Настройка конфигурации клиента RPC over HTTP. |
И наконец, чтобы использовать для соединения протокол HTTP, необходимо установить флажок Connect using HTTP first, then connect using my Local Area Network (LAN). Как правило, Outlook 2003 сначала пытается установить связь с сервером Exchange через TCP/IP. Если попытка не удается, Outlook пробует соединиться через HTTP. После установки этого флажка Outlook делает попытку сначала соединиться через HTTP, что позволит избежать задержки, связанной с тайм-аутом протокола.
При обсуждении смены профиля MAPI предполагалось, что профиль на клиентском компьютере уже существует. Если требуется создать профиль, следует помнить, что для этого необходим прямой RCP-доступ к серверу Exchange через TCP/IP. Если нужно создать профили MAPI для удаленных пользователей (т. е. прямой TCP/IP-доступ к серверу Exchange отсутствует), следует задействовать утилиту генерации профиля MAPI, такую как profgen.exe — инструмент из набора ресурсов Microsoft Office 2003 Resource Kit. В идеале для управления системами необходимо автоматизировать все изменения в MAPI-профилях пользователей, чтобы значительно снизить вероятность возникновения пользовательских ошибок.
Применение RPC over HTTP для подключения клиентов Outlook 2003 к почтовым серверам представляет собой гибкий способ обращения к домашним почтовым ящикам пользователей без ограничений туннелирования или громоздкого клиента на базе Web. Однако в стандартной конфигурации эта функция не работает. Ее запуск требует планирования и настройки конфигурации со стороны администратора систем отправки сообщений. Прежде чем внедрять службу RPC over HTTP на всем предприятии, следует выполнить пилотный проект, чтобы исследовать влияние данной службы на инфраструктуру.
Киран Маккорри (kieran.mccorry@compaq.com) — живет в Ирландии, является старшим консультантом группы Technology Leadership Group в Compaq. Автор книги «Connecting Microsoft Exchange Server» (Digital Press)
В моей предыдущей компании было настолько много мелких филиалов и на тот момент VPN был недоступен, пользователи в регионах пользовались службой OWA, но когда интернет был нелоступен, соответственно была недоступна и почта, по этому и возникла необходимость безболезненно пользоваться обычным аутлуком. Об этом и расскажу в последующих своих статьях.
Для предоставления услуг RPC/HTTP-прокси для клиентов Outlook 2003, Exchange-сервер должен быть настроен как RPC/HTTP-прокси сервер. Для этого необходимо установить на Exchange-сервере службу RPC/HTTP -прокси.
Для того, чтобы установить на Exchange-сервере службу RPC/HTTP-прокси выполните следующее:
На Exchange-сервере нажмите Start (Пуск), выберите Control Panel (Панель управления) и нажмите Add or Remove Programs (Установка/удаление программ).
В левой части апплета Add or Remove Programs (Установка/удаление программ) нажмите Add/Remove Windows Components (Добавить/удалить компоненты Windows).
В Мастере установки компонентов Windows на странице Windows Components (Компоненты Windows) выберите Networking Services (Сетевые службы) и нажмите кнопку Details (Подробно).
В окне Networking Services (Сетевые службы) выберите RPC over HTTP Proxy (прокси RPC поверх HTTP) и нажмите OK.
На странице Windows Components (Компоненты Windows) нажмите Next (Далее) для установки компонента прокси RPC поверх HTTP.
Настройка сервера RPC-прокси на использование указанных портов для RPC поверх HTTP
После настройки компонента RPC/HTTP для служб IIS вам необходимо настроить RPC-прокси сервер. Настройте RPC-прокси сервер на использование указанных портов для соединений со службой каталогов Active Directory и с информационным хранилищем Exchange-сервера.
Первым делом убедитесь, что значения ключей реестра для портов Exchange-сервер автоматически установлены. При запуске установки сервера Exchange Server 2003, Exchange-сервер настраивается на использование следующих портов:
Сервер
Порт
Служба
Exchange-сервер (Глобальный каталог)
6001
Хранилище
6002
DSReferral
6004
DSProxy
Порты служб
Для Exchange-сервера автоматические настраиваются ниже перечисленные значения ключей реестра. Хотя вам не нужно настраивать эти значения, следует убедиться, чо все они настроны верно
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\ParametersSystem
Имя параметра: Rpc/HTTP Port
Тип: REG_DWORD
Значение: 0x1771 (Decimal 6001)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeSA\Parameters
Имя параметра: HTTP Port
Тип: REG_DWORD
Значение: 0x1772 (Decimal 6002)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeSA\Parameters
Имя параметра: Rpc/HTTP NSPI Port
Тип: REG_DWORD
Значение: 0x1774 (Decimal 6004)
Замечание: Не изменяйте эти значения. В случае их изменений RPC/HTTP не будет верно работать.
Для настройки сервера RPC-прокси на использование указанных портов выполните следующее:
На сервере RPC-прокси запустите редактор реестра (Regedit).
В дереве консоли найдите следующий ключ: HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\RpcProxy
Правой кнопкой щелкните по параметру ValidPorts и выберите Modify (Изменить).
В окне Edit String (Редактировать запись) в поле Value data (Значение параметра) введите следующую информацию:ExchangeServer:6001-6002;ExchangeServerFQDN:6001-6002;ExchangeServer:6004;ExchangeServerFQDN:6004;
ExchangeServer – это NetBIOS-имя (имя компьютера) вашего Exchange-сервера.
ExchangeServerFQDN – это полностью определенное доменное имя (FQDN) вашего Exchange-сервера. Если FQDN, использующееся для доступа к серверу из внешней сети отлично от внутреннего имени FQDN, нужно использовать внутреннее имя FQDN.
На сколько я помню установка второго сервис пака решала проблему задания вышеперечисленных настроек, в реестре руками, по этому рекомендую накатить все обновления перед настройкой. Про настройку клиентской части, я расскажу в своей следующей публикации.
01.06.2009 —
Опубликовал: |
ms exchange mail server 2003 | RPC/HTTP-прокси на Exchange;
Sorry, the comment form is closed at this time.
In this blog we will talk about difference between RPC over HTTP and MAPI over HTTP. We will discuss how these 2 protocols work, and how to configure and test RPC over HTTP (Outlook Anywhere) and MAPI over HTTP in Exchange Server 2019.
Table of Contents
Watch video
You our YouTube channel and watch this video to learn the difference between RPC over HTTP and MAPI over HTTP.
What is RPC over HTTP (Outlook Anywhere)
When a user wants to access company resources from outside the network or from Internet, generally they have to use a VPN. Virtual Private Network or VPN allows a connection to the organization’s network and inside its firewall so that users can access the company resources from the external network.
Outlook Anywhere or RPC over HTTP allows the users to connect to their mailboxes using outlook client from an external network without using a VPN. That means if Outlook Anywhere is configured in your exchange organization, users can connect to their mailboxes using outlook client from external network and they do not need a VPN. This is possible because outlook client can use RPC over HTTP to connect to the Exchange services.
Outlook Anywhere or RPC over HTTP is a facility that is provided by Microsoft Outlook for remote connections. It acts like an alternative to VPN connections that allows users to access outlook client without any restrictions. This facility allows you to access Exchange accounts remotely using Internet when you are not using the internal network.
RPC over HTTP is a Windows component. It wraps remote procedure calls or RPCs with an HTTP layer so that it can travel through the network firewalls without requiring RPC ports to be opened in your network. So if you are using RPC over HTTP, you do not have to open any extra ports on your network.
Important: Outlook Anywhere also uses MAPI protocol. When outlook client connects to exchange mailbox using Outlook Anywhere or RPC over HTTP, the MAPI protocol is wrapped with RPC, and then it is wrapped with HTTP. In RPC over HTTP all the RPC calls are encapsulated within HTTP and are transported over an SSL connection. But it requires 2 long-lived TCP connections. One connection for Outlook and Exchange Server and 1 for Exchange Server and Outlook connection.
In Exchange Server 2013, 2016, and 2019 this feature is enabled by default. But still you need to make certain changes in Exchange server so that outlook clients can use Outlook Anywhere to connect to the Exchange mailboxes.
Configure RPC over HTTP (Outlook Anywhere) in Exchange server 2019
To configure outlook anywhere in Exchange server 2019, go to Exchange admin center, click Servers, click servers again, and double click Exchange server name as shown below.
On the settings page, click Outlook Anywhere, and under Specify the external host name and Specify the internal host name, type the host name of your Exchange server.
Under Specify the authentication method for external clients, select Negotiate and check Allow SSL offloading. Click Save to save the settings.
To configure RPC over HTTP in Exchange server 2019 using PowerShell, run below command in Exchange Management Shell:
Set-OutlookAnywhere -Identity “Exchange/Rpc (Default Web Site)” -ExternalHostname mail.office365concepts.com -InternalHostname mail.office365concepts.com -ExternalClientsRequireSsl $true -InternalClientsRequireSsl $true -DefaultAuthenticationMethod Negotiate
Testing RPC over HTTP connectivity
To verify if RPC over HTTP is configured properly in Exchange server, run below command in Exchange Management Shell:
Test-OutlookConnectivity -ProbeIdentity Outlook.Protocol\OutlookRpcSelfTestProbe
In above image you can see Result shows Succeeded that indicates RPC over HTTP connectivity passes and RPC over HTTP is configured properly in Exchange server.
What is MAPI over HTTP
MAPI over HTTP is a transport protocol that replaces Outlook Anywhere. It was introduced in Exchange Server 2013 SP1.
In Exchange Server 2016 and 2019, MAPI over HTTP is enabled by default on the organization level, and outlook clients can use MAPI over HTTP to connect to the Exchange mailboxes. In MAPI over HTTP, MAPI is wrapped with only HTTP protocol and instead of 2 long-term connections, it uses 1 long-term connection and 1 short-term connection. Which results in faster communication when you are connecting to your Exchange server mailboxes.
By default Outlook 2016, 2019 or Outlook 365 uses MAPI over HTTP. But if MAPI over HTTP is not enabled in your Exchange Server, outlook clients can still use RPC over HTTP to connect to the Exchange server.
Configure MAPI over HTTP in Exchange Server 2019
To configure MAPI over HTTP, go to Exchange admin center, click servers, click virtual directories and double click mapi (Default Web Site).
Under Internal URL and External URL you need to specify the hostname of your Exchange server for which you have published DNS records in local and public DNS as described in this article.
Under authentication select the authentication method as Windows authentication – NTLM, Windows authentication – Negotiate, and Server to server authentication (OAuth) and click Save.
In Exchange server 2019 MAPI over HTTP is enable by default on the organization level. To verify run below PowerShell command in Exchange Management Shell:
Get-OrganizationConfig | fl *MAPIHTTPEnabled*
In the above image you can see MAPI over HTTP is enabled and the outlook clients will use this protocol to connect to the Exchange Server.
Testing MAPI over HTTP connectivity
To test MAPI over HTTP connectivity in Exchange server, create a user’s profile in outlook client and go to Connection Status as shown below:
On the Outlook Connection Status page, expand Server name and here you will find your Exchange server’s hostname along with the protocol being used as shown below:
Disable MAPI over HTTP in Exchange server
To disable MAPI over HTTP on the organization level, run below PowerShell command in Exchange Management Shell:
Set-OrganizationConfig -MapiHttpEnabled $false
To disable MAPI over HTTP on the user level, run below PowerShell command in Exchange Management Shell:
Set-CASMailbox Identity "Bob Ross" -MapiHttpEnabled $False
Now if you re-open outlook or configure a new profile for Exchange user, this time outlook will connect to Exchange server using RPC over HTTP as shown below:
To enable MAPI over HTTP on the organization level, run below PowerShell command in Exchange Management Shell:
Set-OrganizationConfig -MapiHttpEnabled $True
Difference between RPC over HTTP and MAPI over HTTP
RPC over HTTP: RPC over HTTP allows the users to connect to their mailboxes using outlook client from an external network without using a VPN. Outlook Anywhere or RPC over HTTP is a facility that is provided by Microsoft Outlook for remote connections. It acts like an alternative to VPN connections that allows users to access outlook client without any restrictions. This facility allows you to access Exchange accounts remotely using Internet when you are not using the internal network. RPC over HTTP wraps remote procedure calls or RPCs with an HTTP layer so that it can travel through the network firewalls without requiring RPC ports to be opened in your network. So if you are using RPC over HTTP, you do not have to open any extra ports on your network.
MAPI over HTTP: MAPI over HTTP is a transport protocol that replaces Outlook Anywhere. In MAPI over HTTP, MAPI is wrapped with only HTTP protocol and instead of 2 long-term connections, it uses 1 long-term connection and 1 short-term connection. Which results in faster communication when you are connecting to your Exchange server mailboxes.
Conclusion
In this blog we learnt what is RPC over HTTP and MAPI over HTTP. We also learnt how to configure RPC over HTTP and MAPI over HTTP and what is the difference between RPC over HTTP and MAPI over HTTP.
Found this article helpful and informative, please share it within your community. Please join us on our YouTube channel for latest videos on Cloud technology and join our Newsletter for the early access of blogs and updates.
Exchange Server 2019 related articles
We welcome you to browse our other articles on Exchange Server 2019 and Exchange Hybrid deployment:
Install Active Directory on Windows Server 2019 and promote to Domain Controller
DNS records in Active Directory
Exchange Server Roles, Architecture, and Functionality Explained
Exchange Server 2019 prerequisites
Install Exchange Server 2019 on Windows Server 2019. A step by step Guide
How to configure Exchange Server 2019 post installation
Transport Pipeline in Exchange Server 2019
Configure Mail Flow in Exchange Server 2019
Create FREE Let’s Encrypt certificate and install on Exchange Server
What is Edge Transport Server
How to install Edge Transport Server in Exchange 2019 organization
Setup EOP as a smart host in Exchange Server 2019
How to configure SMTP relay in Exchange server 2019
Demystifying Autodiscover. A Deep Dive into Autodiscover
Configure Client Access Services in Exchange 2019
Happy Learning!!