简单的 IIS URL 重写

发布于 2024-12-11 10:02:57 字数 451 浏览 4 评论 0原文

简单的问题。我需要将特定子域 URL 上的所有 http 80 和 https 443 请求重定向到备用 SSL 端口 https 444。

示例: http:// /sub.corp.com --> https://sub.corp.com:444 示例: https://sub.corp.com --> https://sub.corp.com:444

我只想使用 IIS 7.5 URL 重写模块。

谢谢。

Simple question. I need to redirect all http 80 and https 443 requests on a specific subdomain URL to an alternative SSL port https 444.

Example: http://sub.corp.com --> https://sub.corp.com:444
Example: https://sub.corp.com --> https://sub.corp.com:444

I only wish to use IIS 7.5 URL Rewrite module.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

微凉 2024-12-18 10:02:57

以下 URL 重写规则应该执行您想要的操作:

<rewrite>
    <rules>
        <rule name="Redirect to port 444" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTPS}" pattern="^ON$" negate="true" />
                <add input="{SERVER_PORT}" pattern="^444$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://sub.corp.com:444/{R:0}" />
        </rule>
    </rules>
</rewrite>

它重定向到 https://sub.corp.com:444 每当 HTTPS 未打开或端口号不是 444 时。站点应绑定到端口 80(使用 HTTP)、443(使用标准 SSL 的 HTTPS)和 444(使用 HTTPS)才能正常工作。

The following URL rewrite rule should do what you want:

<rewrite>
    <rules>
        <rule name="Redirect to port 444" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAny">
                <add input="{HTTPS}" pattern="^ON$" negate="true" />
                <add input="{SERVER_PORT}" pattern="^444$" negate="true" />
            </conditions>
            <action type="Redirect" url="https://sub.corp.com:444/{R:0}" />
        </rule>
    </rules>
</rewrite>

It redirects to https://sub.corp.com:444 whenever HTTPS is not ON or when the port number is not 444. The site should have bindings to port 80 (with HTTP), 443 (with HTTPS for standards SSL) en 444 (with HTTPS) for this to work.

傻比既视感 2024-12-18 10:02:57

Marco 的解决方案工作得很好,以防有人想知道如何在 IIS 中应用它。
您将其添加到 web.config 文件中。如果您在 IIS 中创建虚拟目录,则选定的物理文件夹将创建一个 web.config。

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect to port 50443" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{HTTPS}" pattern="^ON$" negate="true" />
                    <add input="{SERVER_PORT}" pattern="^50443$" negate="true" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}:50443/{R:0}" />
            </rule>
        </rules>
    </rewrite>
 </system.webServer>
</configuration>

Marco's solutions works fine, in case somebody is wondering how to apply this in IIS.
you add this to the web.config file. If you create a Virtual Directory in IIS the selected physical folder will have a web.config created.

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="Redirect to port 50443" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{HTTPS}" pattern="^ON$" negate="true" />
                    <add input="{SERVER_PORT}" pattern="^50443$" negate="true" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}:50443/{R:0}" />
            </rule>
        </rules>
    </rewrite>
 </system.webServer>
</configuration>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文