我有一台 IIS8/Windows 2012r2 服务器,目前正在运行几个网站(运行良好,没有任何问题)。
我正在添加一个新站点,该站点需要对除少数 IP 地址之外的所有 IP 地址进行限制。
我已经对程序进行了排序,添加了相关的 IIS 限制角色,添加了第一个 IP 地址以允许访问,但是,当我尝试编辑功能设置以拒绝未指定的客户端时,我得到以下信息:
There was an error while performing this operation.
Details:
Filename:\\?\D:\path-to-website
Error: The configuration section
'system.webServer/security/dynamicIpSecurity' cannot be read because
it is missing a section declaration
我已经在这里和常规 Google 搜索中搜索过该错误,但什么也没出现(更多地谈论.NET 应用程序,并且有稍微不同的消息)。
这是一个全新的网站,刚刚创建,网站根目录中完全没有任何文件。
我也尝试过在服务器上运行的其他站点,但都出现了同样的错误。
不幸的是我还不能在另一台机器上真正测试它,因为我拥有的其他基于 IIS 的服务器是 IIS7/Win2k8r2。
答案1
以下是对我有用的方法。打开文件:
的C:\Windows\System32\inetsrv\config\applicationHost.config
找到“webServer”部分及其下的“安全”部分
<sectionGroup name="system.webServer">
...
<sectionGroup name="security">
并在其下方添加以下元素:
<section name="dynamicIpSecurity" overrideModeDefault="Deny" />
之后,我能够使用 IIS 管理器设置动态 IP 安全。