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

Как развернуть приложение на основе веб-API и браузера ASP.NET в производственной среде

Возможный дубликат:
Как развернуть приложение на основе веб-API и браузера ASP.NET в производственной среде

У нас есть сервер веб-API ASP.NET, который обслуживает веб-сайт, управляемый данными SQL Server. API использует JSON для передачи данных из SQL Server во внешний интерфейс.

Нам нужно переместить его во внутреннюю производственную среду (ничего не будет опубликовано в Интернете), и у нас возникают проблемы - или мы просто не понимаем, что нужно делать.

Есть два домена:

  1. Корпоративный домен - куда обычно входят все пользователи.
  2. Домен процесса - содержит базу данных, к которой должен получить доступ веб-API.

ИТ-персонал хочет создать DMZ между двумя доменами, чтобы разместить приложение IIS и защитить пользователей корпоративного домена от прямого доступа к процессу.

Идеальная конфигурация:

corp domain (end users) <–> firewall (open port 80) <–> DMZ (web server running IIS) <–> firewall (open port 80 or 1433????) <–> process domain (IIS for Web API and SQL Server)

Мы действительно не понимаем, как развернуть наш браузер / приложение веб-API в этом сценарии.

  1. Нужно ли нам разбивать наше приложение так, чтобы весь клиентский код находился на сервере IIS в DMZ, а веб-API устанавливался на сервере в домене процесса?
  2. Остается ли все приложение (клиентский код и веб-API) вместе на сервере IIS в DMZ, который затем каким-то образом обращается к экземпляру SQL Server для получения данных?
  3. Не могли бы вы просто получить доступ к веб-API на сервере в домене процесса с сервера IIS и приложения в DMZ, перейдя в http://server/appname/api/getitmes?
  4. Во втором брандмауэре между DMZ и доменом процесса нужно ли открывать порт 1433 или просто порт 80, поскольку веб-API является конечной точкой HTTP?
  5. Или есть какой-нибудь лучший способ развертывания (то есть, как одностраничные приложения ASP.NET Web API, написанные полностью на HTML5 и JavaScript, должны быть развернуты в производственной среде?)?

NB: это серверы Win2k8 R2, SQL Server 2k8 R2 и IIS 7.5.

Обычно ваш код будет развернут на сервере IIS. Это означает ваш "веб-API" и веб-сайт.

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

Веб-служба и веб-сайт будут находиться на одном или нескольких веб-серверах за пределами DMZ. Сервер базы данных будет внутри DMZ. DMZ должна быть настроена так, чтобы разрешать только запросы от вашего веб-сервера (ов) к серверу базы данных. Обычно через порт 1433 или любой другой порт, настроенный для использования SQL.

За пределами DMZ должен быть установлен брандмауэр, чтобы ограничить доступ к этому веб-серверу на портах 80 или 443. 80, если это не SSL, 443, если SSL включен.