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

Ошибка подключения к базе данных sql server при запуске IIS из DMZ

Я работаю над этим уже несколько дней.

У одного из наших клиентов есть трехуровневый план сервера: сервер IIS, сервер приложений (на котором находится приложение Asp.Net MVC3) и сервер базы данных. Все серверы - Windows Server 2012 R2. Сервер приложений и сервер БД находятся в собственном домене, сервер IIS - в другом домене.

Сервер IIS находится в DMZ, а брандмауэр отделяет его от сервера приложений и сервера SQL.

Я могу подключиться к экземпляру БД SQL-сервера через ODBC на сервере приложений с желаемыми учетными данными.

IIS подключается к приложению через общий ресурс UNC. Пул приложений запускается с использованием локальной учетной записи. На сервере приложений есть еще одна локальная учетная запись с тем же именем пользователя и паролем.

База данных SQL Server подключается через проверку подлинности SQL Server.

Когда я подключаюсь к веб-сайту, я получаю свой экран входа в систему. Когда я пытаюсь войти в систему (когда нужно использовать БД), я получаю следующую ошибку:

Win32Exception:

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

SqlException:

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

Извините, я работаю с VMWare и не могу копировать / переносить напрямую с серверов.

Что я считать происходит, заключается в том, что сервер IIS запускает приложение локально и из-за DMZ и другого домена не может видеть сервер БД.

Мне нужен IIS для запуска приложения, чтобы приложение могло взаимодействовать с БД. Как мне лучше всего этого добиться? Могу ли я настроить IIS так, чтобы он запускал приложение на сервере приложений? Если да, то какие параметры конфигурации мне нужны?

Если вам нужна дополнительная информация, просто спросите, и я предоставлю.

Я готов дать столько голосов против, сколько потребуется, чтобы это сделать.

РЕДАКТИРОВАТЬ:

Могу ли я настроить IIS для пересылки запросов на внутренний сервер?

Я решил эту проблему, настроив обратный прокси-сервер от веб-сервера к серверу приложений с помощью маршрутизации запросов приложений и перезаписи URL. В приведенном ниже URL-адресе есть инструкции, которым я следовал.

http://weblogs.asp.net/owscott/creating-a-reverse-proxy-with-url-rewrite-for-iis

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