%20%D0%B7%D0%B0%20%D0%B1%D1%80%D0%B0%D0%BD%D0%B4%D0%BC%D0%B0%D1%83%D1%8D%D1%80%D0%BE%D0%BC%20TMG%20%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%B2%20%D0%BD%D0%B5%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D1%85%20%D0%B1%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80%D0%B0%D1%85.png)
У меня есть сайт, опубликованный с помощью Forefront TMG как HTTPS-сайт. Он имеет действительный сертификат SSL (EV). Сайт отображается корректно во всех браузерах, кроме Safari, Midori и Dolphin.
Проблема в том, что в Safari вообще нет соединения с сайтом. Как будто сайт вообще не отвечает на запрос. Файл не передается. Соединение полностью мертво. По крайней мере, на долгое время (от 30 секунд до пары минут).
У меня есть несколько разных сайтов, настроенных через HTTPS. Разные домены, разные IP и разные сертификаты. Сертификаты от разных эмитентов.
Проблема существует со всеми моими HTTPS-сайтами, ТОЛЬКО с браузерами Safari, Midori и Dolphin, все 3 сайта работают правильно в любом другом браузере. Никаких задержек, никаких проблем не сообщалось.
Я попытался отключить перенаправление HTTP на HTTPS в прослушивателе TMG, чтобы исключить проблему с сертификатом. Я также не могу получить доступ к своим веб-сайтам по http. Однако они прекрасно доступны из браузеров Firefox, Opera, Chrome, IE, Vivaldi, Slimjet и Edge.
Иногда я могу отобразить одну страницу в Safari, но это занимает более 30 секунд, но с некоторыми изображениями (и / или CSS) отсутствует. Затем - веб-сайт падает, потому что AJAX на странице дает сбой, хотя заголовки CORS настроены правильно и ссылающиеся URL-адреса могут даже отвечать (с огромными задержками).
Выглядит это так: вводишь URL и получаешь сообщение о том, что сайт недоступен. Потом если обновить страницу несколько раз, то он наконец появляется, но сильно сломанный (как будто многие файлы были недоступны).
В других браузерах задержек нет. Все файлы доступны сразу.
На вкладке «Политика веб-доступа» у меня отключены все параметры проверки и прокси-сервера.
Что самое странное - у меня есть другой сайт (HTTP) на том же сервере, но опубликованный на другом IP. Сайт работает на ВСЕХ браузерах без проблем. Все IP и маршрутизация, кажется, настроены правильно, а если бы это было не так, как бы другие браузеры отображали сайты?
Кстати, это 100% не на самих сайтах. Даже если я попытаюсь открыть один HTML-файл или изображение с сайта, его не получится загрузить с помощью Safari.
ВАЖНО: Информация о сертификате SSL сайта отображается правильно, это единственное, что загружается с этих сайтов. Поэтому я вижу значок замка, информацию о сайте, но нет контента. После разрешения HTTP-соединений он также не работает по HTTP. Работает по HTTP в некоторых браузерах.
ВАЖНО: Все указанные сайты доступны во всех браузерах, если TMG не указан (через VPN, при прямом указании моего NLB IP).
Проблема началась, когда мы переместили наши виртуальные серверы на новые хосты в новой сети. В старой сети все работало. Но опять же - какое отношение имеет внутренняя конфигурация сети к тому, что сайты недоступны только в определенных браузерах?
Обновлять
Я пробовал много вещей, например, изменение MTU на брандмауэре CISCO ASA, но это не помогло. Я попытался обновить конфигурацию SSL на TMG, используя это руководство:
Улучшение безопасности SSL на Forefront TMG
Я закончил с тем, что тест даже не завершился. Плюс я получаю предупреждение о "несогласованной конфигурации сервера". И он останавливается с сообщением "Длинное обходное решение для рукопожатия: рукопожатие не длиннее 0x200 байт: 132". Ну, у меня домены www.example.com и example.com установлены на разные адреса. Это сделано специально. И между двумя из них есть пара перенаправлений. Кстати, у сайта www есть свой собственный сертификат на случай, если кто-то введет его URL с https. Но он в основном не используется. И да, я заменил сертификат сервера без www, но www остался без обновления. Это ошибка, но она должна влиять только на сайт www. Но тот, который ведет себя неправильно, этоhttps://example.com, нетhttps://www.example.com.
Что не так? Поскольку в прошлый раз все работало хорошо, у меня была та же виртуальная машина TMG на другом хосте. У меня были сайты на разных (старых) серверах IIS. У меня были разные внешние IP-адреса и не было DMZ. И сертификат был другим, старым, с ключом 128 бит вместо 256. Не было брандмауэра CISCO ASA. Это произошло после того, как мы перенесли все сайты на новые машины. Они работают в любом браузере, кроме Safari, Midori и Dolphin.
Обновлять
Я подключен к внутренней сети через VPN, через ASA. Если я устанавливаю IP домена моего сайта напрямую на внутренний адрес NLB - это работает. Если я устанавливаю на IP DMZ - это не работает. И, конечно, на внешнем IP - это не работает. Конечно - все 3 пути отлично работают в большинстве браузеров, только Safari, Midori и Dolphin затронуты.
Кстати, тот же CISCO ASA направляет мои веб-запросы в публичную сеть.
BTW2: Чистый HTTP-сайт (без сертификата) из того же IIS->NLB->TMG->DMZ->ASA - работает с Safari без задержек и других проблем. Единственное, что я не тестировал, это удаление сертификата и настройка только HTTP-доступа. Это рабочий сайт, если я за него возьмусь, то должен делать это ночью и в большой спешке.
решение1
Похоже на базовую проблему сетевого подключения. Симптомы обычно такие же, как при неправильной настройке MTU. Или TGM может что-то выкидывать, но я недостаточно знаю об этом, чтобы сказать.
Я бы рекомендовал сначала протестировать с уменьшенным MTU — установка MTU 1200 на сервере или клиенте или на обоих будет хорошим началом. В качестве альтернативы вы можете использовать Wireshark для подключения, чтобы увидеть, какие параметры TCP согласовываются, и отталкиваться от этого.
[Изменить] Изменение MTU в Windows немного зависит от того, какую версию Windows вы используете, поскольку это не указано, я просто привел общий результат Google: