1:NAT

1:NAT

我有一个 IIS 设置,其中的重定向规则在我的 Windows 机器上运行得很好。但是 - 我开始使用 Mac - 所以我安装了一个装有 Windows 的 VirtualBox VM,并使用了完全相同的设置。现在,我在 Mac 的 VirtualBox 上运行的 Windows VM 与我迄今为止使用的物理 Windows 机器相同。

问题是 URL 重定向不起作用。我从客户机(Windows)浏览到应重定向的 URL,但重定向没有正常进行。我认为这与我为虚拟机配置网络的方式有关 - 我是否必须创建端口转发规则?哪些规则?

这是规则 - 来自 web.config(它在物理机器上运行良好):

<rule name="API" patternSyntax="ECMAScript" stopProcessing="true">
    <match url="api/.*" />
    <action type="Rewrite" url="https://api.MyDomain.com/{R:0}" />
</rule>

关于虚拟机-我定义了两个网络适配器:

  • 1:NAT

  • 2:主机专用适配器

请注意,我可以从客户机访问 Web,也可以在本地访问我的 Web 服务 - 除了应用规则时的 URL 重写之外,一切都很好。

答案1

开箱即用,UrlRewrite 只能对同一页面进行重写,如下所示:

<rule name="Rewrite to article.aspx">
<match url="^article/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="article.aspx?id={R:1}&amp;title={R:2}" />
</rule>

似乎你正试图重写另一个域上的另一个站点,并可能进行 SSL 卸载 - 这就是反向代理确实如此。要实现此功能,您必须拥有应用程序请求路由已安装。

我要调试这个配置的步骤是:

  1. 用重定向替换重写操作并查看它是否有效 - 这样您就可以确保规则适用于您的请求。
  2. 如果您想要做的只是在您的网站内进行重写,请将重写 URL 更改为相对 URL。
  3. 如果你确实需要重写到不同的网站,请安装并配置到达率(这本身又会带来另一系列问题)

相关内容