Недавно я установил новую тестовую среду, состоящую из балансировщика нагрузки, маршрутизирующего HTTPS-трафик на один веб-сервер IIS 8 (больше будет добавлено, когда я проработаю эту проблему). Веб-сервер IIS 8 общается с удаленным сервером SQL через незашифрованное соединение с учетными данными, указанными в файле IIS web.config.
Все отлично работает, когда я подключаюсь к веб-приложению через балансировщик нагрузки и правильное доменное имя / URL. Однако, если я попытаюсь пропустить балансировщик нагрузки и получить доступ к веб-серверу IIS 8 напрямую (через IP-адрес), я вижу, что мое веб-приложение пытается загрузить, но оно не может подключиться к удаленному SQL Server, и я не могу войти в систему. Эта проблема не возникает, если я отключу поддержку HTTPS на сервере IIS 8.
Я считаю, что каким-то образом веб-сервер IIS 8 вызывает какую-то проблему с подключением к удаленному SQL Server, потому что IIS видит, что сертификат SSL не соответствует URL-адресу (поскольку я использую IP-адрес вместо фактического имени домена) . Может ли это быть проблемой, и если да, то могу ли я что-нибудь с этим поделать?
Сервер, потому что IIS видит, что сертификат SSL не соответствует URL-адресу (поскольку я использую IP-адрес вместо фактического имени домена). Может быть, это проблема ...
Вероятно, это проблема, потому что для правильной проверки сертификата он проверяет, соответствует ли имя в сертификате имени, данному для подключения. Если он не будет выполнять проверку, кто-либо с сертификатом, выданным его собственному сайту, может выдать себя за ваш сервер, что, вероятно, не то, что вам нужно.
... и если да, могу ли я что-нибудь с этим поделать?
Вы должны убедиться, что имя, которое вы используете для подключения, соответствует сертификату. То есть либо сертификат необходимо изменить так, чтобы он содержал IP-адрес, либо для подключения к серверу необходимо указать имя хоста, указанное в сертификате, а не IP-адрес. Поскольку имя хоста, вероятно, относится к балансировщику нагрузки, вы можете изменить файл хостов в своей клиентской системе (тот, который подключается к серверу SQL), чтобы он разрешал имя хоста в IP-адрес самого сервера, а не в балансировщик нагрузки.