这是我的web.config,其中包含一些用于阻止Ipaddress
的标记<configuration>
<connectionStrings>
...
</connectionStrings>
<appSettings>
....
</appSettings>
<runtime>
....
</runtime>
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.0.0.1" allowed="true"/>
<add ipAddress="83.116.19.53" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
</configuration>
我的目的是阻止除上述之外的任何其他IP。以上是我希望从中访问网站的唯一IP地址。但是随着“ipSecurity”标签,我总是得到 500 - 内部服务器错误,没有它,网站运行正常。
我确保在服务器上安装了“IP和域限制”。 如果我遗失任何东西,请告诉我。 谢谢。
答案 0 :(得分:29)
对于遇到此问题的其他人。问题的原因是功能委派不允许该功能由web.config管理。
修复:
验证是否为web.config管理启用了功能
希望这有助于其他人。
答案 1 :(得分:19)
对于Windows 10和Visual Studio 2015,请注意ApplicationHost.config文件已重定位到项目文件夹层次结构中的.vs \ config文件夹。您需要编辑在那里找到的ApplicationHost.config 文件的项目特定版本...
<section name="ipSecurity" overrideModeDefault="Allow" />
如果您只编辑Documents \ IISExpress文件夹中的ApplicationHost.config,这不会影响您现有的应用程序(在我的情况下是MVC5应用程序)。
答案 2 :(得分:10)
打开 applicationHost.config 文件(位于%windir%\ system32 \ inetsrv \ config \ applicationHost.config )并编辑 ipSecurity 部分。
更改此行:
<section name="ipSecurity" overrideModeDefault="Deny" />
要:
<section name="ipSecurity" overrideModeDefault="Allow" />
答案 3 :(得分:6)
答案 4 :(得分:4)
在System.Webserver标记外部试用
<location path="Default WebSite">
<system.webServer>
<security>
<ipSecurity allowUnlisted="false">
<clear/>
<add ipAddress="127.0.0.1" allowed="true"/>
<add ipAddress="83.116.19.53" allowed="true"/>
</ipSecurity>
</security>
</system.webServer>
</location>
答案 5 :(得分:1)
不要忘记自定义网站委派。这允许您仅允许委派到您想要的站点。
答案 6 :(得分:1)
希望这会有所帮助...
我在Windows 7上运行IIS express并执行以下操作 - 控制面板&gt;节目&gt;节目和特征&gt;打开或关闭Windows功能
在 Windows功能对话框中,确保选中 IP安全选项:
我还必须打开applicationhost.config(在%userprofile%\ Documents \ IISExpress \ config 下)并更改以下内容:
<section name="ipSecurity" overrideModeDefault="Deny" />
要
<section name="ipSecurity" overrideModeDefault="Allow" />