我们有一系列较小的API是较大系统的一部分,每个都在IIS计算机上运行。
为了隐藏我们的内部架构,我们创建了一系列IIS重写规则:
<rule name="AuthServer" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^auth/.*" />
<action type="Rewrite" url="https://localhost:4000/{R:0}" />
</rule>
但是,我们需要扩展此系统并使其可测试。
我们尝试过:
if (context.Request.Uri.AbsoluteUri.EndsWith("test"))
{
context.Request.Path = new PathString("/rewritten");
}
但这只允许我们改变路径。我们需要重写到不同的端口/站点。
可以这样做吗?
答案 0 :(得分:0)
我们没有办法做到这一点,所以我们最终使用了:
从代码动态更新web.config重写规则。它工作正常,可以测试(虽然不是本地托管)。