我有一个API可以向我返回图像,例如:
/ api / products / images / 233->这将为我返回233.jpg图片
但是我的IIS有一条将X-Content-Type-Options标头添加到安全请求的规则,但是这会破坏Internet Explorer上的图像,因此当端点/ products /时,我需要一种删除此规则的方法仅在没有端点的情况下调用images /或添加标题的方法。
我尝试将其用于Custom Headers
但是它没有用,我这样尝试过:
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Remove nosniff">
<match serverVariable="RESPONSE_X_Content_Type_Options" pattern="/products/images/" />
<action type="Rewrite" value="none"/>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
但是它没有任何改变,图像仍然具有“ nosniff”标题。
我缺少一些配置吗?还是有另一种方法?
答案 0 :(得分:1)
您的匹配条件是检查标头RESPONSE_X_Content_Type_Options
是否包含值/products/images/
而不是nosniff
。您可以使用Location块将此规则限制为/products/images/
,然后使用pattern="nosniff"
查找值nosniff
<configuration>
...
<system.webServer/>
...
<location path="products/images/">
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Remove nosniff">
<match serverVariable="RESPONSE_X_Content_Type_Options" pattern="nosniff" />
<action type="Rewrite" value="none"/>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</location>
</configuration>
请参阅文档以了解元素:https://msdn.microsoft.com/en-us/library/b6x6shw7(v=vs.100).aspx