none
ошибка в правиле ARR RRS feed

  • Общие обсуждения

  • Доброго дня Коллеги,

    второй день наблюдаю странное явление. Слабо понимаю как к диагностике подходить.

    Есть некий домен в котором поднят интегрированный в АД СА

    в этом домене поставили 16 exchange.

    Сертификаты под него создавались на указанном СА.

    Все работает (ОВА и большой Оутлук), все прекрасно.

    Подключили к Exchange пару человек из соседнего домена (без доверия, сети роутятся друг на друга)

    Все работает (ОВА и большой Оутлук), все прекрасно.

    Попросили для пары тестов дать ОВА в интернет.

    И вот начинаются непонятные мне вещи.

    В качестве прокси используется ARR.

    в IIS сервер добавлен сертификат, сделан биндинг на имя, написано правило для URL Rewrite.

    при попытке подключится с внешнего адреса: ошибка - сервер не может отобразить страницу.

    на самом сервере ARR, OWA работает. Дальше ни-ни.

    Решил проверить нет ли ошибки в ARR. Пробросил порт напрямую.

    Все работает, хорошо - ошибка на уровне ARR.

    само правило:

    <rule name="Exchange_autodicover" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
                        <match url="*" />
                        <conditions>
                            <add input="{HTTPS}" pattern="on" />
                            <add input="{HTTP_HOST}" pattern="autodiscover.*****.ru" />
                        </conditions>
                        <action type="Rewrite" url="https:// Exchange/{R:0}" />
                    </rule>
                    <rule name="exchange activesync" enabled="false" stopProcessing="true">
                        <match url="*" />
                        <conditions>
                            <add input="{HTTPS}" pattern="on" />
                            <add input="{HTTP_HOST}" pattern="activesync.*****.ru" ignoreCase="false" />
                        </conditions>
                        <action type="Rewrite" url="https:// Exchange/{R:0}" />
                    </rule>
                    <rule name="iWC-Exchange mail" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                        <match url="*" />
                        <conditions>
                            <add input="{HTTPS}" pattern="on" ignoreCase="false" />
                            <add input="{HTTP_HOST}" pattern="mail.****.ru" ignoreCase="false" />
                        </conditions>
                        <action type="Rewrite" url="https:// Exchange/{R:0}" />
                    </rule>
                    <rule name="Deny ECP" enabled="false" stopProcessing="true">
                        <match url="^ecp/.*" />
                        <conditions>
                            <add input="{HHTPS}" pattern="on" />
                            <add input="{HTTP_HOST}" pattern="mail.****.ru" />
                        </conditions>
                        <action type="CustomResponse" statusCode="503" statusReason="Deny Access" statusDescription="Deny Access" />
                    </rule>

    понимаю что первые три можно в одно, но сейчас хотелось бы понять где ошибка в ARR.

    Прокси вполне себе рабочий, есть правила до этого набора и там все тоже работает.

    Есть предложение куда нужно посмотреть?

    25 июня 2016 г. 22:31

Все ответы

  • Что первое бросается в глаза: вы дописываете в правиле часть пути на хосте - <action type="Rewrite" url="https:// Exchange/{R:0}" />. Далеко не все веб-сайты и веб-службы (конкретно за Exch 2016 не скажу)такое терпят.

    PS Отключение правила - атрибут enabled="false" в эленментах <rule> - это, как я понял было не сначала, а правила были отключены позднее, после неудачных тестов.


    Слава России!

    26 июня 2016 г. 12:44
  • В правиле часть пути хоста это ссылка на ферму серверов

    <webFarm name=" Exchange" enabled="true">
                <server address="192.168.254.19" enabled="true" />
                <applicationRequestRouting>
                    <protocol timeout="00:03:20" minResponseBuffer="0">
                        <cache enabled="false" />
                    </protocol>
                    <healthCheck url="https://autodiscover.*****.ru/Autodiscover/HealthCheck.htm" />
                </applicationRequestRouting>
            </webFarm>

    Ага, отключил, когда понял что не работает.


    26 июня 2016 г. 16:52
  • Проверил, заменил Rewrite на Redirect. Результат то же, т.е. отрицательный.
    26 июня 2016 г. 17:46
  • при попытке подключится с внешнего адреса: ошибка - сервер не может отобразить страницу.

    Здравствуйте,

    - Проверяли порт отзывается из вне?

    telnet <ip-адресс> 80
    telnet <ip-адресс> 443

    - Уточните пожалуйста, если просмотреть из вне по средством FireBug, какую ошибку Вы видите?
    - Сервер на котором веб-сервер IIS используются внутреннии(lan) адреса или внешние(wan)?


    Best Regards, Andrei ...
    MCP

    • Изменено SQxModerator 26 июня 2016 г. 18:35 исправлено
    26 июня 2016 г. 18:34
    Модератор
  • при попытке подключится с внешнего адреса: ошибка - сервер не может отобразить страницу.

    Здравствуйте,

    - Проверяли порт отзывается из вне?

    telnet <ip-адресс> 80
    telnet <ip-адресс> 443

    другие сайты и приложения через этот экземпляр ARR работают коректно

    как по 80, так и по 443 порту.

    проблема наблюдается именно на почте

    - Уточните пожалуйста, если просмотреть из вне по средством FireBug, какую ошибку Вы видите?
    - Сервер на котором веб-сервер IIS используются внутреннии(lan) адреса или внешние(wan)?


    Best Regards, Andrei ...
    MCP

    если смотреть firebug, то - Ошибка при установлении защищённого соединения

    адреса внутренние, перед arr стоит убунта с натом и айпитаблетом

    26 июня 2016 г. 19:10

  • - Уточните пожалуйста пробовали диагностировать проблему в работе ARR с помощью Failed Request Tracing?

    Подробнее: Using Failed Request Tracing Rules to Troubleshoot Application Request Routing (ARR).

    - Каким образом проверяется сертификат выданный доменным CA из вне (при использование защищенного подключения)?

    - При конфигурации проксирования включали опцию Enable SSL Offloading?


    Best Regards, Andrei ...
    MCP

    • Изменено SQxModerator 26 июня 2016 г. 20:58 добавлено
    26 июня 2016 г. 20:52
    Модератор
  • В правиле часть пути хоста это ссылка на ферму серверов


    Да, прошу прощения - невнимательно посмотрел.

    А вот к ферме есть вопросы: если вы используете в качестве адреса сервера назначения адрес IP сервера Exchange, то его с большой вероятностью нет в сертификате, ко торый используется этим сервером. Это может помешать установке соединения HTTPS.


    Слава России!


    • Изменено M.V.V. _ 26 июня 2016 г. 21:32
    26 июня 2016 г. 21:28
  • Проблема в прокси =)
    26 июня 2016 г. 21:33
  • Коллеги вопрос снят, все работает.

    дело было не в ARR а роутере посередине, который отправлял SSL трафик на другой веб сервер.

    маршрут убрали - все заработало.

    Огромное спасибо за помощь.

    26 июня 2016 г. 21:53
  • В правиле часть пути хоста это ссылка на ферму серверов


    Да, прошу прощения - невнимательно посмотрел.

    А вот к ферме есть вопросы: если вы используете в качестве адреса сервера назначения адрес IP сервера Exchange, то его с большой вероятностью нет в сертификате, ко торый используется этим сервером. Это может помешать установке соединения HTTPS.


    Слава России!


    Вот это отличное уточнение. Спасибо.

    все отработало с использованием ip, но есть над чем подумать.

    у Константина Гузнина есть отличная статья на эту тему

    RP должен разрешать FQDN (полное доменное имя ex1-srv.contoso.com, ex2-srv.contoso.com и т.д.) почтового сервера в его IP адрес. Если в сети периметра не используется DNS сервер, необходимо прописать имена серверов и IP в файле C:\Windows\System32\Drivers\etc\hosts.

    DNS-суффикс сервера RP (в том случае, если он не включен в домен) нужно настроить вручную так, чтобы он был идентичен доменному (RP.contoso.com).

    оригинал статьи
    26 июня 2016 г. 22:03
  • Проблема в прокси =)

    в Ergo Proxy ))))

    (сорри за оффтоп)

    26 июня 2016 г. 22:05