azure - 从 Azure 应用程序网关后面的 Web 应用程序重定向

标签 azure iis azure-application-gateway

我在 Azure 中设置了两个 Web 应用程序,为简单起见,我们将它们称为 webapp1 和 webapp2。它们位于应用程序网关后面,该网关根据 URL 中的子目录选择正确的 Web 应用程序。

以下是我如何设置它的基本示例:

www.mydomain.com -> webapp1(默认路由)

www.mydomain.com/app -> webapp2

这工作正常,但有一个问题除外:例如,如果 webapp2 重定向到登录页面,则 URL 中的域将更改为 azurewebsites.net 域。它不会重定向到 www.mydomain.com/login,而是重定向到 webapp2.azurewebsites.net/login。

我对 Azure 应用程序网关相当陌生,但我知道它会注入(inject) x-forwarded-* 和 x-original-host header 。我假设网关会更改重定向的 url 请求以更正域,或者 Web 应用程序上的配置将使用 x-original-host。这些事情都没有发生。

有没有办法配置网络应用程序或网关以确保主机名在重定向时不会更改?如果使用具有经典 IIS 反向代理设置的单独 Web 应用程序/VM(而不是应用程序网关),此方案会更好吗?

最佳答案

目前应用程序网关不会覆盖来自后端的响应。我们确实注入(inject)了 X-Original-Host,您的应用程序应该使用它来将重定向 URL 正确写回 mydomain。

在 Web 应用程序上配置 URL 重写的示例可以找到 here 。可以找到将默认 *.azurewebsites.net 域重写为自定义域的示例 here

关于azure - 从 Azure 应用程序网关后面的 Web 应用程序重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52413707/

相关文章:

azure - 如何在 Azure API 管理中实现用户对操作的权限?

Azure、DocumentDB、Count 给出不正确的结果

azure - 在 azure 中创建 WAFV2 应用程序网关时添加子网时出错

Azure API 管理未列出所有端点\方法

azure - Microsoft 基础结构当前的 OAuth URL 和范围是什么?

azure - 通过 ARM 模板在 Azure 数据湖存储帐户中创建文件系统

c# - ASP .Net 用户控件错误处理

azure - 从 header azure apim 中提取后设置后端 url

asp.net - 即使发布的文件在 maxRequestLength 之下,发布文件也会给出 404 页面结果

angularjs - IIS 网站文件夹中的 AngularJS/WebAPI 应用程序出现问题