在web.config中添加x-frame-Options会返回500错误。

3
我在我的web.config文件中添加了X-frame-Options。
这是我的web.config文件:
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<httpProtocol>
  <customHeaders>
    <add name="X-Frame-Options" value="SAMEORIGIN" />
  </customHeaders>
</httpProtocol>

重启IIS后,我得到了500错误!!!有人能帮我找出问题吗?
2个回答

8

将您的customHeaders修改如下:

<customHeaders>
  <clear />
  <add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>

我怀疑您的应用程序位于虚拟文件夹中,如果是这种情况,则会处理两个web.config文件。首先是全局的,第二次是您自己的。因此,您最终会有两个customHeaders集合。
博客文章IIS 7: 但为什么我会得到500.19更详细地解释了为什么会发生这种情况以及如何修复它。

0

您添加自定义标头的位置不正确。正确的位置是:

  ....
 </system.web>
 <system.webServer>
      <security>
          <requestFiltering>
          <verbs allowUnlisted="true">
               <add verb="OPTIONS" allowed="false" />
          </verbs>
          </requestFiltering>
       </security>
       <httpProtocol>
              <customHeaders>
                    <add name="X-Frame-Options" value="ALLOW" />
                    <remove name="X-Powered-By" />
                    <add name="X-XSS-Protection" value="1; mode=block" />
                    <add name="X-Content-Type-Options" value="nosniff" />
              </customHeaders>
        </httpProtocol>
        <modules>
                <remove name="FormsAuthentication" />
        </modules>
  </system.webServer>
  ....

另一个选项对于你的应用安全是有用的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接