Я считал, что к IP - ограничивают веб-сайт в IIS8, чтобы позволить только одному или нескольким дюйм/с и отклонить всех других, Вы делаете это:
(как указано в ниже снимка экрана)
Однако, когда я делаю это (как указано в ниже снимка экрана), я все еще могу получить доступ к сайту от другого дюйм/с.
Что отсутствует здесь? Есть ли что-то еще, которое должно быть сделано?
Я попробовал iisreset, и страница не является браузером, кэшируемым на тестовых машинах, которые не должны иметь доступа.
Ако е инсталирана IP-безбедноста под функциите на IIS за Windows, можете да го додадете ова на вашата веб.конфигура за блокирање на IP-адресите:
<location path="Default Web Site">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false"><!-- this line blocks everybody, except those listed below -->
<clear/> <!-- removes all upstream restrictions -->
<add ipAddress="192.168.100.1" />
<add ipAddress="169.254.0.0" subnetMask="255.255.0.0" />
</ipSecurity>
</security>
</system.webServer>
</location>
Есть ли у вас прокси между клиентами и вашим сервером IIS? Вы можете показать в Журналах IIS, с каким IP приходит ваш клиент.
.Я нашел способ обойти свою ситуацию.
СИТУАЦИЯ: Необходимо заблокировать IP-адреса в сети, но разрешить IIS доступ к веб-сайту для локальных приложений сервера. Периодический индивидуальный или общий доступ к веб-сайту IIS через подсеть.
ПРОБЛЕМА: Установка для параметра «Редактировать параметры функции» значения «Запретить» не работает должным образом. Он не соблюдает список «Разрешить». Доступ к размещенному веб-сайту запрещен ни для локальной сети, ни для сети.
РЕШЕНИЕ: Оставьте «Изменить параметры функции» на «Разрешить». Последняя запись в списке «Разрешить / Запретить» - «Запретить» для всей подсети. Запись «Разрешить» для IP локального сервера предшествует подсети «Запретить». Любые отдельные компьютеры в подсети, которым разрешен доступ, имеют записи «Разрешить», предшествующие «Запретить» для всей подсети.
После множества возни с , я обнаружил, что у меня сработало следующее (IIS 8.5.X на win server 2012 R2)
Убедитесь, что функция включена для Интернета. управление конфигурацией
(в моем случае это было только чтение, что и было проблемой)
Затем отредактируйте web.config, включив
<system.webServer>
<security>
<!-- this line blocks everybody, except those listed below -->
<ipSecurity allowUnlisted="false">
<!-- removes all upstream restrictions -->
<clear />
<add ipAddress="X.X.X.X" allowed="true" />
<add ipAddress="127.0.0.1" allowed="true" />
</ipSecurity>
</security>
</system.webServer>
, где XXXX - IP-адрес, который вы хотите разрешить ( добавьте такую строку для каждой комбинации IP- или IP-подсетей, которую вы хотите разрешить)
Примечательно , что в документации, похоже, отсутствует allowed = "true" и любое упоминание о требованиях к позволяют делегировать функцию . Спасибо @Summit за этот совет здесь
Действия по ограничению IP-адресов на уровне файлов в IIS 7 и более поздних версиях
В диспетчере IIS-> В представлении содержимого выделите конкретный файл-> Нажмите «Перейти к представлению функций» в разделе «Действия» панель-> В представлении функций дважды щелкните «Ограничения IP-адреса и домена», а затем установите ограничение
Я думаю, что это работает и с классическими страницами ASP.