我想知道是否有人编写了IIS 7 RE-WRITE规则来摆脱此错误。基本上,我希望如果页面包含“https://”,页面上所有包含的文件将被重写为“https://”。理论上应该摆脱错误,对吗?IIS 7重写 - 我可以摆脱“页面包含安全和不安全的项目?”
0
A
回答
1
有趣的想法。我没有想过使用它。但它确实是可能的,尽管它增加了处理响应的一些开销。你也将无法使用GZIP压缩(我已经包含了该设置)。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Force HTTPS links when using HTTPS" preCondition="Only for HTML" stopProcessing="false">
<match filterByTags="A, Area, Base, Form, Frame, IFrame, Img, Input, Link, Script" pattern="^http://(.*)" />
<action type="Rewrite" value="https://{R:1}" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
</rule>
<preConditions>
<preCondition name="Only for HTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
<urlCompression doStaticCompression="false" doDynamicCompression="false" />
</system.webServer>
</configuration>
UPDATE:
支持在CSS文件链接到外部图像可以用另外的规则非常相似的方式来处理。但请注意,这是一个相当耗费CPU的任务,因为它需要URL重写模块将整个CSS文件与正则表达式匹配,直到找不到匹配为止。
但对于它的乐趣,我增加了一个额外的规则,也将取代HTTP链接到图片在CSS文件:
<outboundRules>
<rule name="Force HTTPS links when using HTTPS" preCondition="Only for HTML" stopProcessing="false">
<match filterByTags="A, Area, Base, Form, Frame, IFrame, Img, Input, Link, Script" pattern="^http://(.*)" />
<action type="Rewrite" value="https://{R:1}" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
</rule>
<rule name="Force HTTPS in CSS when using HTTPS" preCondition="Only for CSS">
<match filterByTags="None" pattern="url\(('|"){0,1}http://(.*?)('|"){0,1}\)" />
<action type="Rewrite" value="url({R:1}https://{R:2}{R:3})" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
</rule>
<preConditions>
<preCondition name="Only for HTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
<preCondition name="Only for CSS">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/css" />
</preCondition>
</preConditions>
</outboundRules>
0
它可能更容易在你的HTML使用"protocol-relative" URLs代替。
相关问题
- 1. 此页面包含安全和非安全项目以及iframe
- 2. “此页包含安全和不安全项目”主题和SSL
- 3. 页面包含安全和非安全项目
- 4. 如何追查“此页包含安全和不安全项目”
- 5. IE浏览器 - “此页面包含安全和非安全项目”
- 6. 错误消息IE7“页面包含安全和非安全项目”
- 7. 如何查看安全页面上的不安全项目
- 8. 安全xmlhttprequest从不安全的页面
- 9. 安全页面上的非安全项目
- 10. 混合安全和非安全页面
- 11. IIS 7或ASP.NET安全
- 12. 我可以安全地重命名我的Subversion项目吗?
- 13. 如何避免浏览器中的“此页面包含安全和非安全项目”警告?
- 14. SharePoint的这一页包含安全和不安全项目”与RSS错误提要
- 15. 如何摆脱安全异常?
- 16. 如何摆脱VBA安全警告
- 17. IE安全和不安全的项目问题
- 18. 的Visual Studio/Visual源安全/集成安全性/ IIS 7
- 19. 从安全页面链接到不安全页面
- 20. 页面包含不安全的资源 - 但在哪里?
- 21. 包含不安全元素的SSL页面
- 22. 在安全的网页上显示非安全项目
- 23. 在不安全页面上的安全iframe在不同的域
- 24. 的system.webServer /安全/在我的IIS 7的web.config授权不工作
- 25. IIS 7.5和asp.net;登录页面的安全性
- 26. 不安全的POST表单在安全页面
- 27. MOD安全项目
- 28. 如何摆脱“此连接不安全...”的信息?
- 29. 安全页面上的iframe中的不安全内容
- 30. 摆脱不安全的代码,从字节编组uint数组?
太棒了!我认为这给我带来了大约90%的路程。我仍然有一些通过HTTP进入的.png CSS背景。我是否也可以将此规则应用于文件扩展名? – user547794
谢谢!这非常有效。 – user547794