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

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

1
задан 5 November 2015 в 07:35
3 ответа

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

2
ответ дан 3 December 2019 в 20:46

Я получал аналогичную ошибку. Прямая перезапись 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 - даже журналы трассировки не содержат никаких подробностей о том, в чем заключалась реальная проблема: (

0
ответ дан 3 December 2019 в 20:46

Даже при настройке IIS на общей конфигурации со всеми узлами операционная система каждого узла может устанавливать привязки SSL за пределами IIS, которые не будут использоваться совместно между узлами. Итак, я считаю, что проблема заключается в привязке SSL на стороне ОС (не IIS) на одном узле и, таким образом, не позволяет совпадению, которое IIS просил сделать. Чтобы исправить этот взгляд на привязки SSL ОС и сравнить его с другими узлами сервера, исправьте все различия, чтобы все узлы совпадали, и это решило бы эту проблему для вас.

У меня была аналогичная проблема, и по ошибке один из моих коллег забыл отметить использование SNI при привязке сертификата, из-за чего он проталкивался в ОС и привязывался там. последующее изменение этого для использования SNI не удаляло привязку SSL ОС, и после некоторой проверки мы заметили это и удалили ее, и все снова было хорошо.

2
ответ дан 1 October 2020 в 18:17

Теги

Похожие вопросы