标签: azure-application-gateway

带有Service Fabric的Azure应用程序网关

目前,我有一个Service Fabric集群,其中包含两个托管Asp Web API的无状态服务.在创建群集时,还会创建适当的Azure负载均衡器.

现在我想在我的集群前添加Application Gateway,原因有很多,比如SSL卸载,url-routing等.

我想了解如何正确配置Application Gateway.我看到2个选项,不确定哪个有效:

  • Application Gateway取代现有的Load Balancer并直接指向托管WebApi的SF服务
  • 我将现有的LB配置和Application Gateway指向此LB(看起来像1 LB解决方案太多)

哪一个是正确的?任何建议如何配置?

azure azure-service-fabric azure-application-gateway

15
推荐指数
2
解决办法
3556
查看次数

Terraform - 如何将 Azure KeyVault 中存储的 SSL 证书附加到应用程序网关

我有一个 Terraform 脚本,用于创建 Azure Key Vault、导入 SSL 证书(带有密码的 3DES .pfx 文件)并创建带有 HTTP 侦听器的应用程序网关。我正在尝试将其更改为使用来自 KeyVault 的 SSL 证书的 HTTPS 侦听器。

我已在 Azure 门户中手动完成此过程,并使用 PowerShell 进行此操作。不幸的是,我没有发现 Terraform 的文档清楚地说明了如何实现这一点。

以下是我的应用程序网关和证书资源的相关片段:

resource "azurerm_application_gateway" "appgw" {
  name                = "my-appgw"
  location            = "australiaeast"
  resource_group_name = "my-rg"
  
  http_listener {
    protocol                       = "https"
    ssl_certificate_name           = "appgw-listener-cert"
    ...
  }

  identity {
    type         = "UserAssigned"
    identity_ids = [azurerm_user_assigned_identity.appgw_uaid.id]
  }

  ssl_certificate {
    key_vault_secret_id = azurerm_key_vault_certificate.ssl_cert.secret_id
    name                = "appgw-listener-cert"
  }

  ...
}

resource "azurerm_key_vault" "kv" {
  name                       = "my-kv"
  location                   = "australiaeast" …
Run Code Online (Sandbox Code Playgroud)

ssl-certificate terraform azure-keyvault azure-application-gateway

13
推荐指数
1
解决办法
1万
查看次数

在Azure Application Gateway中将HTTP重定向到HTTPS

我已配置应用程序网关(AG)来执行SSL终止/卸载.AG配置为仅侦听端口443以进行HTTPS连接.是否可以将HTTP重定向到HTTPS,而不必:

  • 创建一个新VM,其中包含一个Web服务器,该Web服务器可以重定向流量并将AG配置为在端口80上侦听其后端池中的新VM,或者
  • 还允许HTTP连接到我的应用程序VM并在我的应用程序代码中处理重定向

我希望我忽略了AG的旗帜/功能.

azure azure-resource-manager azure-application-gateway

11
推荐指数
2
解决办法
1万
查看次数

Azure应用程序网关的自定义域

我正在尝试使用自定义域名创建应用程序网关,我不断收到错误消息"无法指定域名标签".

我想知道我是否做错了,或者azure应用程序网关不可能拥有自定义域名?

azure azure-application-gateway

8
推荐指数
2
解决办法
4535
查看次数

使用应用程序网关的 Azure AD 重定向 URL

我们有一个 ASP Core 2.0 应用程序,可以很好地与专用网络上的 Azure AD 配合使用。但是,我们一直在使用 Azure 应用程序网关,研究允许远程工作者等从外部访问应用程序的可能性。

我们已经在网关上注册了该应用程序,并且一旦使用 Azure AD 登录,匿名首页就可以通过ourapp.msappproxy.net. 但是,当(再次?)在应用程序中登录时,客户端被重定向回intervalServer/signin-oidc失败,因为它无法从外部访问。

虽然我怀疑这是解决方案的任何部分,但我尝试将重定向覆盖"CallbackPath": "/signin-oidc", 到绝对路径,ourapp.msappproxy.net/signin-oidc但我似乎无法弄清楚如何。更改 Azure 门户中的回复 URL 也无济于事(虽然我怀疑它会不会,但这只是为了验证,对吗?)。

我似乎无法在此特定情况下找到任何有关此的指导,因此很受欢迎。否则,我会思考以下问题:

1,如果我可以将重定向更改为ourapp.msappproxy.net/signin-oidc,是否可以解决登录问题?

2,我什至需要额外的登录步骤,还是应该更改应用程序以接受AzureAppProxyUserSessionCookieAzureAppProxyAccessCookie?(如果这甚至是一种选择?)

azure-active-directory asp.net-core azure-application-gateway

7
推荐指数
1
解决办法
1545
查看次数

关联失败。在 OIDC 身份验证期间的 Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler

我使用以下组合来实现这一点:1) 浏览器隐身模式 (Chrome) 2) 应用程序位于 Azure 应用程序网关后面(如果不是,则不进行复制)。关闭基于 Cookie 的关联(默认);如果打开,似乎会使重现更频繁地发生。

代码是相当普通的 OIDC authN + cookie。

        services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddAzureAd(options => {
            Configuration.Bind("AzureAd", options);
        })
        .AddCookie(p => p.SlidingExpiration = true);
Run Code Online (Sandbox Code Playgroud)

我按照建议将 X-Forwarded-Proto 标头转发到 auth 中间件,以便 redirect_uri 使用正确的协议方案。

代码处理

我尝试处理OnRemoteFailure()事件,并重定向到“/Home/AuthRedirect”,这是一个等待 20 秒的匿名页面,然后重定向到“/”(主页)。它有时似乎有效,但并非总是如此。我没有想法。

变通方法

1) 用户可以再次进入主页并按 F5 直到这有效。似乎每个 F5 都让他们向前迈进了一步,一旦填充了 OpenID cookie,其他一切(在 openid 完成后我有更多的身份验证,通过 adal.js 用于 AJAX 使用)。2) 绕过应用程序网关并使用直接服务结构集群 DNS 名称(不接受,因为它是 http)。

细节

System.Exception:关联失败。在 Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler`1.d__12.MoveNext() --- 从上一个抛出异常的位置的堆栈跟踪结束 --- 在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 在 System.Runtime。 CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at …

c# asp.net-identity openid-connect asp.net-core azure-application-gateway

7
推荐指数
3
解决办法
2万
查看次数

Azure Web应用程序静态出站 IP

我正在尝试解决一个问题。我必须从 Azure 托管的 Web API 访问托管在本地服务器 (on-prem) 上的 API。

问题是我的本地服务器只允许列入白名单的 IP。我知道我们可以从我们的 Web 应用程序(Azure 托管)获取出站 IP。但我不确定它们是静态的还是会根据缩放而改变。

另一个解决方案是创建 VNET 并将该 Web 应用程序添加到该 VNET 中。但我希望有人提出更好的解决方案。

azure azure-virtual-network azure-app-service-plans azure-application-gateway

7
推荐指数
2
解决办法
1万
查看次数

Azure 应用程序网关在进行 JMeter 负载测试时随机遇到 504 网关超时

我有 1 个应用程序网关,它有 2 个后端(Azure VM),它通过 IIS 托管 ASP CORE REST API。两者都使用端口 80 进行通信。

手动测试一切正常,直到我们使用 jmeter 进行 2500 线程 POST 请求负载测试时,某些请求得到“504 网关超时”作为响应。

我尝试对后端进行完全相同的负载测试,但没有收到任何不良响应。

我的应用程序网关配置是否错误?

配置 配置

HTTP 设置 HTTP 设置

探头 探头

jmeter azure azure-application-gateway

7
推荐指数
1
解决办法
3万
查看次数

使用App Service的Azure应用程序网关

要求我有 -

我想像这样做重定向.我有多个将运行的App服务,并且基于我想要重定向到正确的url.

像这样的东西 -

test.com/v1 -> app service appv1.com test.com/v2 -> app service appv2.com test.com/v3 -> app service appv3.com

考虑到它支持url映射,azure应用程序网关是否是正确的选择.

但是,我不确定应用程序服务的应用程序网关是否有效?App服务的公共IP是静态的吗?是否应该用于配置应用程序网关

azure azure-web-app-service azure-application-gateway

6
推荐指数
1
解决办法
2388
查看次数

Azure应用程序网关WAF阻止常见的ASP.Net核心请求

我已经Azure Application Gateway + WAF在Azure WebApp上运行的ASP.Net Core应用程序的前面配置了一个。我OWASP 3.0在“预防”模式下并在其中设置了默认规则。

我的问题是,通过WAF的每个请求都以一种或另一种方式失败,并且某些默认规则集返回403 - Forbidden status

通过WAF日志,我发现很少有规则失败。

  1. 已识别的SQL十六进制编码

    {
        "message": "Warning. Pattern match \"(?i:(?:\\\\A|[^\\\\d])0x[a-f\\\\d]{3,}[a-f\\\\d]*)+\" at REQUEST_COOKIES:ASP.Net_Auth.",
        "data": "Matched Data: H0XAa4 found within REQUEST_COOKIES:AspNetCore.Auth: CfDJ8El_2vmJILFHjQYUCDWwttioV16BAlL12KiQnTLGZztGtA8P0xbo1MosAgmrkUk4IQ7pF5O4ZMJbmRHsHxYHq842rq_hr8FUyMhAMo_5mQ-C_5jBrkRWqUGrYHMa6fVIj4xtGOfku...",
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 检测到SQL注释序列

    "message": "SQL Comment Sequence Detected.",
    "details": {
            "message": "Warning. Pattern match \"(/\\\\*!?|\\\\*/|[';]--|--[\\\\s\\\\r\\\\n\\\\v\\\\f]|(?:--[^-]*?-)|([^\\\\-&])#.*?[\\\\s\\\\r\\\\n\\\\v\\\\f]|;?\\\\x00)\" at REQUEST_COOKIES:.AspNetCore.Identity.Application.",
            "data": "Matched Data: --Z35d...- found within REQUEST_COOKIES:.AspNetCore.Identity.Application: CfDJ8El_2vmJILFHjQYUCDWwttihjUTpJneEVE1l-3UeTx...",
            "file": "rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf",
            "line": "1053"
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 超出PCRE限制

    {
        "requestUri": "/api/ping?_=240477821",
        "message": "Execution error - PCRE limits exceeded (-8): (null)."
    }
    
    Run Code Online (Sandbox Code Playgroud)

网址/ …

azure asp.net-core azure-application-gateway azure-web-app-firewall

6
推荐指数
1
解决办法
786
查看次数