gpt4 book ai didi

iis - 强制某些页面通过 HTTPS 和其他页面到 HTTP...这可能吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:52 25 4
gpt4 key购买 nike

我真的被这个问题困住了......

基本上,我尝试使用 IIS 的 URLRewrite 附加组件使 2 个页面始终通过 SSL。但我还需要强制所有其他页面使用 HTTP(唉——别问了)。

但如果我强制其他页面通过 HTTP,那么当您查看 SSL 页面时,您将收到安全警告。我试图通过检查 HTTP_REFERER 是否是 SSL 页面来解决这个问题,然后让它仅通过 SSL 发送给该页面。这是行不通的,因为如果有人单击 SSL 页面上的链接,那么它将保留在 SSL 上。

这可能吗?...

这是目前为止我得到的:

<rewrite>
<rules>
<rule name="Force HTTPS Login" stopProcessing="true">
<match url="(.+)login.aspx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Force HTTPS Payments" stopProcessing="true">
<match url="(.+)payments.aspx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Others Force HTTP" stopProcessing="true">
<match negate="true" url="((.+)login.aspx|(.+)payments.aspx)" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
<add input="{HTTP_REFERER}" negate="true" pattern="(.+)login.aspx" />
<add input="{HTTP_REFERER}" negate="true" pattern="(.+)payments.aspx" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>

更新:找到这篇文章:Rewrite http to https on some pages only using .htaccess .自 2010 年 3 月以来没有答案......!

最佳答案

所以我最后做的是:

  1. 为需要它的页面强制使用 HTTPS。
  2. 除了第 1 点中的页面以及这些页面上引用的“/styles”和“/images”文件夹外,强制所有其他页面使用 HTTP。

由于页面使用相对路径,它们会自动分别通过 HTTP/HTTPS 使用样式/图像。

<rewrite>
<rules>
<rule name="Force HTTPS Login" stopProcessing="true">
<match url="(.*)/login.aspx" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Others Force HTTP" stopProcessing="true">
<match url="(((.*)/login.aspx)|((.*)/styles(.*))|((.*)/images(.*)))" negate="true" />
<conditions>
<add input="{HTTPS}" pattern="^ON$" />
</conditions>
<action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>

关于iis - 强制某些页面通过 HTTPS 和其他页面到 HTTP...这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8190682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com