IIS 将端口 8880 上的 http 重定向到端口 8443 上的 https

IIS Redirect http on port 8880 to https on port 8443

我在这里很挣扎。我已经看到很多关于 80 到 443 的答案,但我真的坚持使用 8880 到 8443 作为我们的控制面板。

需要重定向的 URL 示例:http://udweb01.servers.unreal-designs.co.uk:8880/admin/home?context=home

结果应该是这样的:https://udweb01.servers.unreal-designs.co.uk:8443/admin/home?context=home

注意 http -> https 和 8880 -> 8443。

我们目前的规则是这样的:

<rule name="Force SSL (8443)" enabled="true" stopProcessing="true">
  <match url="^(http://)?(.*):8880(/.*)?$" />
  <action type="Redirect" url="https://{R:2}:8443{R:3}" appendQueryString="true" redirectType="Found" />
</rule>

但这似乎没有任何作用。有什么想法吗?

你的规则应该是这样的:

<rule name="Redirect with port" stopProcessing="true">
     <match url=".*" />
     <conditions>
          <add input="{HTTP_HOST}" pattern="^(.*):8880$" />
     </conditions>
     <action type="Redirect" url="https://{C:1}:8443/{R:0}" />
</rule>

在此规则中,您有条件 <add input="{HTTP_HOST}" pattern="^(.*):8880$" />,它将仅访问端口为 8880 的 http 主机