将规则重定向到 IP

Redirect rule to an IP

我有一个托管在 Azure 中的网站。 我想调试那里发生的某个场景(在测试环境中),所以我希望所有到达那个 URL 的请求,即 https://test.com 被重定向到我的本地 IP(在我端口转发和处理之后一切都在我自己的电脑上。 我添加了一个几乎有效的规则,它看起来像这样:

<rule name="Reverse" stopProcessing="true">
            <match url=".*" />          
            <action type="Redirect" url="52.52.52.52/api/..." redirectType="Found"/>             
</rule>

发生的事情是,当请求到达服务器时,它会将当前主机 URL 添加到 IP 之前,它看起来像这样:

测试.com/52.52.52.52

如何配置不添加主机名?

我已经有一段时间没有使用重写规则了,所以这个答案可能不是确定的。但是 "Found" 'redirectType' 将导致对客户端(浏览器)的 302 响应,并将包含 "Location:" header 和完整的 URL。由于您没有在 URL 中提供主机,它将使用请求中的主机名。

您需要将协议放在操作 "url=" 中,例如 'url="https://52.52.52.52/api/...'。

如果您需要它同时适用于 HTTP 和 HTTPS,您可以从 {REQUEST_URI} 解析我们的协议,或者创建一个重写映射并使用 {HTTPS} 服务器变量。 Details are here.