Назад | Перейти на главную страницу

Автообнаружение Office 365 Outlook с использованием обратного прокси - плохой подход?

Задний план. Автообнаружение Outlook имеет определенный порядок попытки выяснить конфигурацию, и он в некоторой степени неизменен, по крайней мере, для пользователей Office 365 с устройствами BYOD:

  1. Вершина домена https://example.com:443/Autodiscover/Autodiscover.xml. Поскольку это, как правило, общедоступный веб-сайт, размещенный в другом месте, для большинства это кажется ненужным шагом.
  2. https://autodiscover.example.com:443/Autodiscover/Autodiscover.xml это более разумная альтернатива. К сожалению, по состоянию на сентябрь 2019 года Microsoft облажалась: для пользователей Office 365 это должно быть CNAME autodiscover.outlook.com., но...

    $ curl -vvv https://autodiscover.outlook.com:443/Autodiscover/Autodiscover.xml
    *   Trying 40.101.49.88...
    * TCP_NODELAY set
    * connect to 40.101.49.88 port 443 failed: Connection refused
    *   Trying 40.101.65.216...
    * TCP_NODELAY set
    * connect to 40.101.65.216 port 443 failed: Connection refused
    *   Trying 40.101.126.120...
    * TCP_NODELAY set
    * connect to 40.101.126.120 port 443 failed: Connection refused
    *   Trying 40.101.126.216...
    * TCP_NODELAY set
    * connect to 40.101.126.216 port 443 failed: Connection refused
    *   Trying 2603:1026:207:15::8...
    * TCP_NODELAY set
    * connect to 2603:1026:207:15::8 port 443 failed: Connection refused
    *   Trying 2603:1026:207:109::8...
    . . .
    
  3. Возврат к методу перенаправления HTTP, единственный работающий метод.

    В это время http://autodiscover.example.com:80/Autodiscover/Autodiscover.xml, настроенный как CNAME autodiscover.outlook.com., отвечает перенаправлением на рабочий сайт.

    Location: https://autodiscover-s.outlook.com/Autodiscover/Autodiscover.xml
    

    Этот в большинстве случаев работает правильно, хотя новые пароли приложений кажутся длинными, чтобы зайти так далеко. Это, однако, требует много запросов и дополнительного времени. (Кроме того, это затрудняет отладку, почему определенные версии Outlook в настоящее время вообще не могут подключиться к Office 365, но должны быть обновлены, прежде чем даже пытаться ...)

Возможное решение Чтобы сделать это быстрее, нужно добавить обратный прокси-сервер на вершине домена, указывающий на рабочий сайт автообнаружения Office 365. Например. с Apache это так же просто, как включить модуль с a2enmod proxy_http и добавив простую конфигурацию в VirtualHost:

# Office 365 Autodiscover Hack 20190918
SSLProxyEngine on
ProxyPass "/Autodiscover/"  "https://autodiscover-s.outlook.com/Autodiscover/"
ProxyPassReverse "/Autodiscover/"  "https://autodiscover-s.outlook.com/Autodiscover/"

Согласно Анализатор удаленного подключения Microsoft test for Outlook Autodiscover, похоже, он работает отлично, и он также, похоже, делает Outlook Autodiscovery быстрее при реальных установках Outlook.

Поскольку это скорее взлом, чем реальное решение, документированное где-либо, мой вопрос: есть ли какие-либо последствия от такого подхода вы могли придумать?

Это autodiscover-s.outlook.com например статическое имя хоста для службы, или он когда-либо дает другие перенаправления? Разве Outlook не продолжил бы шаги 2 и 3 в любом случае, этот прокси-сервер дает неожиданные результаты?

Среда Office 365 и Exchange Online отличается от среды Exchange on-Premises. В среде Exchange on-Premises организация использует выделенный общедоступный сервер Exchange, который служит «представителем» для имени общедоступного домена организации. «Облачная среда» (Office 365) не может предоставить этот тип «выделенного сервера Exchange», который будет представлять конкретное доменное имя клиента Office 365. Пожалуйста, обратитесь к этой статье: https://o365info.com/autodiscover-flow-in-an-office-365-environment-part-1-of-3-part-29-of-36/