问题标签 [azure-application-gateway]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 突然开始搞403 mod安全动作,WAF-azure
我们在 Azure 云 (ISAS) 上部署了应用程序 (OHDSI Atlas-http)。我们已经在预防模式下设置了 WAF。该应用程序自过去 8 个月以来一直在运行。突然从过去两周开始,我们收到 403 的 PUT 和 POST 请求。大多数看起来像 SQL 注入规则和一些与协议相关的。
我们还向 MS 支持提出了请求,并且我们禁用了一些规则。它工作正常,但再次开始获得不同的规则命中。代码是自过去 8 个月以来的状态。
注意 - 最近,当我们使用 https 向同一个应用程序网关添加了一个应用程序时。这会影响其他应用程序吗?
azure - Azure 应用程序网关 X-Forwaded-For
将 Azure 应用程序网关设置为反向代理时,是否可以x-forwarded-for
在转发请求时停止包含标头,从而隐藏原始客户端 IP?
azure - 如何将路径添加到 Azure 应用程序网关后端池?
我有 2 个具有不同路径的 WebAPI,如下所示:
xx.xxx.xx.xxx/用户
xx.xxx.xx.xxx/角色
yy.yyy.yy.yyy/文件
我尝试使用基于路径的重定向设置 Azure App Gateway 以实现此目的:
myApiGateway.com/v1/Users
myGateway.com/v1/Roles
myGateway.com/v1/Documents
但在后端池中,我无法使用 xx.xxx.xx.xxx/path 等额外路径配置 IP(或 FQDN)。
更多信息更新:
在基于路径的规则配置中,它看起来像
/v1/Users/* -> 池 X (xx.xxx.xx.xxx)
/v1/Roles/* -> 池 X (xx.xxx.xx.xxx)
/v1/Documents/* - > 池 Y (yy.yyy.yy.yyy)
我的前端 API 使用者需要一个且唯一的 URL,例如
他们不希望访问http://myApiGateway.com/v1/api-x/获取用户和角色,访问http://myApiGateway.com/v1/api-y/获取文档。
现在我在想 api-x 和 api-y 在某种程度上不是关于设计的最佳实践。
对此有任何想法、建议和建议,我将不胜感激。谢谢!
c# - ASP.Net MVC 为使用应用程序网关的授权重定向设置自定义主机名
场景:Azure 应用程序网关后面的 ASP.net MVC 应用程序
当未经授权的用户尝试访问控制器方法受Authorize属性保护的页面时,用户将被重定向到 Azure AD 登录页面。登录后,用户将被重定向到无法访问的应用程序 URL(给出 403),而不是正确的应用程序网关 URL。
当我们使用时,登录可以正常工作:
所以问题是:有没有一种好方法可以覆盖Authorize属性正在使用的主机名,以便它重定向到应用程序设置中指定的应用程序网关 URL?
在 startup.auth.cs 内部,我们使用 OpenId Connect 并将重定向 URI 设置为正确的应用程序网关 URL,该 URL 可用于成功进行身份验证,但在用户通过身份验证后仍会重定向到不正确的 URL。
c# - 关联失败。在 OIDC 身份验证期间在 Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler
我用以下组合来解决这个问题:
- 浏览器隐身模式 (Chrome)
- 应用程序位于 Azure 应用程序网关之后(如果不是,则没有复制)。基于 Cookie 的亲和力关闭(默认);如果打开,似乎会使复制更频繁地发生。
代码是相当普通的 OIDC authN + cookie。
我按照建议将 X-Forwarded-Proto 标头转发到 auth 中间件,因此 redirect_uri 使用正确的协议方案。
代码处理
我尝试处理OnRemoteFailure()事件,并重定向到“/Home/AuthRedirect”,这是一个等待 20 秒的匿名页面,然后重定向到“/”(主页)。它有时似乎有效,但并非总是如此。我没主意了。
解决方法
- 用户可以再次转到主页并按 F5 直到这工作。似乎每个 F5 都让他们向前迈进了一步,一旦填充了 OpenID cookie,其他一切(openid 完成后我有更多的身份验证,通过 adal.js 使用 AJAX)。
- 绕过应用程序网关并使用直接服务结构集群 DNS 名称(不可接受,因为它是 http)。
细节
azure - 基于 Azure 应用程序网关 URL 的路由不起作用
我正在为我的两个后端池配置基于 Azure 应用程序网关 URL 的路由,但它不起作用。我的默认路由配置指向 b1 端点,可以通过 blabla.cloudapp.azure.com 访问当我添加其他路由路径 /b1/* 我无法通过 blabla.cloudapp.azure.com/b1 访问我的后端池/。我得到 404 page not found 响应。谁能帮我理解我的配置有什么问题?
azure - Azure 专用 DNS 区域解析
我们为区域 project.local 设置了一个私有 DNS 区域。对于生活在应用服务环境中的应用服务实例,每个服务都有自己的记录指向服务前面的负载均衡器(因此都具有相同的 IP)。
我们有一个应用程序网关实例链接到前面的公共 IP,以使这一切都公开可用。网关可通过公共 URL 访问,并将请求路由到负载均衡器。
现在我们看到的是以下内容:
- 从外部看,一切都很好。我们可以使用外部 URL 访问服务,网关转发它,一切都很好。
- 在内部,我们要使用在专用区域中设置的内部DNS 地址。这不起作用,从服务到服务的调用会引发错误,指出无法解析主机 URL。
- 当我在同一个 vNET 中登录 VM 或使用 Kudu 控制台时,我能够将 DNS 地址解析为正确的 IP。我注意到的是,当使用 nslookup 时,它说它得到了一个非权威的答案。
出于调试目的,很难获得更多信息。我们不确定为什么解析不能按照文档工作,这些记录应该适用于同一 vNET 中的所有组件。权威错误可能是相关的,但同样:不确定。因此,任何关于其他检查的想法都将受到高度赞赏。
免责声明:我也有针对相同问题的支持票,但想把它放在那里看看是否有其他人可能遇到过同样的问题,因为这是一项相当新的技术。
azure - 使用同一帐户 + Azure 应用程序网关的多个用户登录的会话值更改
我的网站在 Azure VMSS 下的 VM 上运行。除此之外,还有公共负载均衡器。此外,拥有一个具有相同公共负载均衡器 IP 的后端池的应用程序网关。最后在 Azure DNS 中,我有 Azure App Gateway 公共 IP 的记录。问题是,当多个用户在各自的机器上使用相同的用户 ID 登录时,很少有会话值会以某种方式相互交换,从而导致进一步的功能错误,因为这些会话值被存储然后从数据库中获取。几点:
1)我尝试了基于 App Gateway Cookie 的 Affinity 和负载均衡器会话持久性的所有可能组合,但没有成功。
2) 它以前托管在 AWS 上,一切正常。它有 AWS 经典负载均衡器和梭子鱼 WAF。
以前有人遇到过同样的问题吗?根据这个https://support.microsoft.com/en-in/help/4033827/troubleshooting-azure-application-gateway-session-affinity-issues我必须为后端池添加 FQDN,因为现在每个后端池都有知识产权?
azure - 如何为应用程序网关后面托管的站点显示“停机维护”
我们在 Azure 应用程序网关负载均衡器后面托管了一个网站。当我们关闭站点进行维护时,它会向最终用户显示 502 错误,这不是很好。即使我们把App_offline.htm,它显示502。
还有其他方法可以做到这一点吗?提前致谢。