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

Почему я получаю ошибку 502 с ARR только при включенном SSL?

У меня есть конфигурация с ARR на внешнем сервере и веб-ферма IIS (8) за ней. SSL включен с одним и тем же сертификатом на сервере ARR и серверах веб-фермы IIS, и я не использую разгрузку SSL. Серверы используют Shared Config, поэтому теоретически установка идентична. Интересно, что когда конфигурация циклического перебора ARR достигает ОДНОГО из серверов, она возвращает «502 - веб-сервер получил недопустимый ответ, действуя как шлюз или прокси-сервер». ошибка. Другой сервер возвращает страницу нормально с работающим SSL. Если я указываю свой браузер на «плохой» сервер напрямую, без ARR, он отлично работает в режиме HTTPS / SSL. Я проверил конфигурации и не обнаружил различий между серверами и даже включил отслеживание неудачных запросов на сервере ARR, что не очень помогло, но я увидел в журнале другую ошибку 502.3. Почему я должен получить ошибку 502 любого типа, особенно только на одном сервере в ферме, когда они настроены одинаково с общей конфигурацией, а сертификаты есть на всех серверах?

Позвольте мне ответить на свой вопрос ... Я отключил "Требовать указания имени сервера", и вдруг все заработало. Это странно, потому что SNI был включен на всех серверах в ферме для одного и того же сайта, но для одного из них, сняв флажок, все заработало. Моя теория такова: даже с общей конфигурацией информация о привязке SSL на самом деле не передается с одного сервера на другой, с IP-адреса на сертификат. Как многие из вас знают, вам все равно придется вручную перейти на другой сервер и выбрать сертификат. Так что это было подсказкой о том, как могут быть разные настройки. Я действительно считаю, что визуально настройки были одинаковыми, но где-то под капотом что-то было другим для одной привязки. В любом случае, я потратил несколько часов на эту проблему и нигде не прочитал ничего о том, что «Требовать указание имени сервера» связано с ошибкой 502. Поэтому я хотел поделиться с интернет-сообществом, чтобы будущие люди знали, что нужно смотреть на этот параметр, если они застряли с ошибкой 502 при использовании SSL. Возможно, есть способ оставить его включенным, поскольку он работал на остальной части моей фермы, но, по крайней мере, вы будете знать, в какой области вам, возможно, придется искать, чтобы решить вашу ошибку 502. Конечно, помните, что первая причина ошибки 502, на мой взгляд, заключается в том, что сертификат не установлен на всех серверах, когда не используется разгрузка SSL, но это не было моей проблемой, и моя была уникальной тем, что только один сервер в ферме плохо себя вел. SSL включен. Надеюсь, это поможет кому-то другому.

У меня была аналогичная ошибка. Прямая перезапись URL-адреса сработала нормально, однако ARR выдаст 502 ошибки безопасности. Я использую самозаверяющий сертификат для выполнения работы Dev, и оказалось, что то, «как» я создаю сертификат, имеет значение. Когда я использую Powershell:

New-SelfSignedCertificate -DnsName *.localmachine.com  -CertStoreLocation cert:\LocalMachine\My

Сертификат отлично работает с прямым переходом на несколько сайтов с использованием сертификата, однако через ARR возникают ошибки. Если я использую makecert старой школы:

makecert -n "CN=*.localmachine.com" -pe -ss My -sr LocalMachine -sky exchange -m 120 -in "WebTeam Dev WildCard Root CA" -is Root -ir LocalMachine -a sha256 -eku 1.3.6.1.5.5.7.3.1

Он отлично работает как напрямую, так и через ARR - даже в журналах трассировки не было никаких подробностей о том, в чем была настоящая проблема :(