У меня есть один веб-сервис asp.net (asmx) в отдельном проекте, который размещен на сервере Windows, на котором запущены другие веб-приложения asp.net. Как я могу ограничить доступ к веб-сервису asp.net по одному IP-адресу? Я хочу, чтобы мой веб-сервис был доступен по одному IP-адресу, настроенному мной. Если запросы поступают с любого другого IP-адреса, он не должен доходить до моего веб-сервиса и отбрасываться самим брандмауэром Windows. Я знаю, что это как-то связано с брандмауэром Windows.

Ранее я делал это для SQL Server, но не знаю, как настроить для этого отдельный проект веб-службы asp.net .

1 ответ1

0

Если ваша веб-служба не работает в отдельном экземпляре IIS на другом порте, чем остальные ваши сайты asp.net, нет способа сделать то, что вы просите, с помощью брандмауэра. Брандмауэр может блокировать вещи только по порту, а не по URL.

Таким образом, у вас есть два варианта.

  1. Переместите веб-службу в собственный экземпляр IIS, работающий на нестандартном порту (81, 8080 и т.д.). Затем добавьте правило брандмауэра, которое ограничивает входящий трафик на этот порт для указанного вами IP-адреса.

  2. Добавьте код в свой веб-сервис, чтобы он фактически отвечал за отклонение запросов, поступающих с недействительных IP-адресов. Это должно быть достаточно легко сделать с объектами сеанса / запроса, к которым у вас есть доступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .