我想知道是否有人編寫了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. IE7:此頁面包含安全和非安全項目
- 5. IE6和7完成的「此頁包含安全和不安全項目」
- 6. 如何追查「此頁包含安全和不安全項目」
- 7. IE瀏覽器 - 「此頁面包含安全和非安全項目」
- 8. 錯誤消息IE7「頁面包含安全和非安全項目」
- 9. 擺脫安全郵件Outlook
- 10. 是安全擺脫瀏覽
- 11. 簽署jnlp以擺脫安全警告
- 12. 如何查看安全頁面上的不安全項目
- 13. 安全xmlhttprequest從不安全的頁面
- 14. 安全頁面上的非安全項目
- 15. 混合安全和非安全頁面
- 16. IIS 7或ASP.NET安全
- 17. 我可以安全地重命名我的Subversion項目嗎?
- 18. 如何避免瀏覽器中的「此頁面包含安全和非安全項目」警告?
- 19. 捐款網站安全擺脫騙子
- 20. 如何擺脫安全異常?
- 21. 如何擺脫VBA安全警告
- 22. IIS安全和Wordpress
- 23. SharePoint的這一頁包含安全和不安全項目」與RSS錯誤提要
- 24. Asp.net 4.0中的安全和不安全的頁面
- 25. 的Visual Studio/Visual源安全/集成安全性/ IIS 7
- 26. IE安全和不安全的項目問題
- 27. 從安全頁面鏈接到不安全頁面
- 28. 頁面方法和安全
- 29. VS2010 IIS Express安全
- 30. 包含不安全元素的SSL頁面
太棒了!我認爲這給我帶來了大約90%的路程。我仍然有一些通過HTTP進入的.png CSS背景。我是否也可以將此規則應用於文件擴展名? – user547794
謝謝!這非常有效。 – user547794