我们在作为基本反向代理运行的webapp中托管IIS ARR。这很好用,并且非常容易配置(与我们考虑的替代方案Azure应用网关不同)。
我们的代理接收一个传入的网址,只是将其转发到另一台服务器,所以没有太复杂。
我们现在需要做的是为租用端点添加网址重写规则,所以使用这样的网址:
https://proxy/[customerid]/stuff?id=1
客户A 重写
https://tenantservera/[customerid]/stuff?id=1
并且客户B 重写为
https://tenantservera/[customerid]/stuff?id=1
客户可以随时添加,并且全球部署的许多代理服务器都在Azure Traffic Manager后面运行,所以我希望每次添加新客户时都不要更新web.config
这似乎有可能(虽然有点过时)使用运行IIS的“真实”服务器,因为您可以在.NET 2.0中编写自定义模块,部署到服务器的GAC,然后将其挂钩到IIS中的管道中。这会更新web.config,如下所示:
<providers>
<provider name="DB" type="DbProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<settings>
<add key="StoredProcedure" value="GetRewrittenUrl" />
</settings>
</provider>
</providers>
有没有人知道在Web应用程序中是否可以使用它或类似的东西?我们无法安装到GAC AFAIK。