Owin URL重写到不同的端口

时间:2015-10-13 12:25:23

标签: asp.net .net owin katana

我们有一系列较小的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");
}

但这只允许我们改变路径。我们需要重写到不同的端口/站点。

可以这样做吗?

1 个答案:

答案 0 :(得分:0)

我们没有办法做到这一点,所以我们最终使用了:

https://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager.getwebconfiguration(v=vs.90).aspx

从代码动态更新web.config重写规则。它工作正常,可以测试(虽然不是本地托管)。