我试图使用Terraform自动化应用程序网关的部署已经有些长时间了,但是它失败并显示一条错误消息。我确保所有协议设置都为HTTPS。但是,我怀疑PFX证书是否有些混乱。
是否由于失败而未提供身份验证证书?在网络上进行了大量尝试以获得解决方案,但是对此没有提及。
Terraform代码:
# Create a resource group
resource "azurerm_resource_group" "rg" {
name = "my-rg-application-gateway-12345"
location = "West US"
}
# Create a application gateway in the web_servers resource group
resource "azurerm_virtual_network" "vnet" {
name = "my-vnet-12345"
resource_group_name = "${azurerm_resource_group.rg.name}"
address_space = ["10.254.0.0/16"]
location = "${azurerm_resource_group.rg.location}"
}
resource "azurerm_subnet" "sub1" {
name = "my-subnet-1"
resource_group_name = "${azurerm_resource_group.rg.name}"
virtual_network_name = "${azurerm_virtual_network.vnet.name}"
address_prefix = "10.254.0.0/24"
}
resource "azurerm_subnet" "sub2" {
name = "my-subnet-2"
resource_group_name = "${azurerm_resource_group.rg.name}"
virtual_network_name = "${azurerm_virtual_network.vnet.name}"
address_prefix = "10.254.2.0/24" …Run Code Online (Sandbox Code Playgroud) 是否可以将已安装的应用程序网关从一个子网移动到另一个子网?
截至目前还没有从门户网站看到任何方式这样做.
我已经在两个VM中托管了一个站点,并将其添加到Application Gateway后端池中。我们有一个表单提交将进行数据库更新,并显示一个确认页面。
如果两个服务器都已启动。即使已从VM1填写表格并将其提交给VM2,更改也会在数据库上正确更新,并且会显示确认页面。
考虑以下情况。用户从VM1进入页面并填写详细信息。VM1不可用后。现在,当用户提交代码时。该页面加载并显示502代理错误。但是数据库更新是通过VM2正确完成的。但是没有显示确认页面。
我正在尝试在我的应用程序网关上设置 Azure WAF (v2)(当前首先处于检测模式以处理误报情况),但是,我看到了以下警告:
To view your detection logs, you must have diagnostics enabled.
Run Code Online (Sandbox Code Playgroud)
所以,我去Diagnostic settings那里用以下选项创建它:
日志:
ApplicationGatewayAccessLog - (已勾选)
ApplicationGatewayPerformanceLog - (已勾选)
ApplicationGatewayFirewallLog - (已勾选)
指标:
AllMetrics - (已勾选)
我也Send to Log Analytics检查过。也Archive to a storage account启用。
但我仍然看到上面提到的相同警告。知道我在这里可能会遗漏什么吗?
更新,我确实在日志中看到了以下查询的记录,但警告仍然存在:
AzureDiagnostics | where OperationName == "ApplicationGatewayFirewall"
Run Code Online (Sandbox Code Playgroud) azure-application-gateway azure-security azure-log-analytics azure-waf
我有一个运行 REST API 的 ACI,该 API 需要公开公开,但需要访问 vnet 内的资源。
出于某种原因,与普通 VM 不同,如果 ACI 位于 vnet 内,则它不能拥有公共 IP 地址。如果您尝试为其提供 DNS 名称,则会失败。
唯一的选择似乎是使用此处描述的应用程序网关:https : //docs.microsoft.com/en-us/azure/container-instances/container-instances-application-gateway
但是这种方法有一个致命的缺陷,如文档本身所示:“如果容器组停止、启动或重新启动,容器组的私有IP可能会发生变化。如果发生这种情况,您将需要更新应用程序网关配置。”
应用程序网关可以选择按资源名称选择后端池,但这仅适用于普通 VM。另一种选择是直接输入IP地址。
ACI 可以在不知情的情况下轻松重启。根据经验,主机杀死它并重新启动它的情况相对经常发生,可能会使用不同的 IP。
在 Internet 上公开在 ACI 实例上运行的服务,同时让它访问 vnet 后面的资源的正确方法是什么?应用程序网关方法显然不是正确的方法。
我需要一个可以轻松与 Azure CLI 配合使用的解决方案,因为我正在通过 Bitbucket Pipes 部署我的 ACI。
更新:
Azure 容器实例只是一堆垃圾。从 vnet 公开它们的唯一方法是使用应用程序网关,运行一个月后,最终成本高于容器实例本身!此外,Azure 容器实例在某些地区非常不稳定(在西欧,它们不断被杀死),支持人员不了解发生了什么(显然这是多个客户的问题)。因此,每次实例重新启动时,它都会获得一个不同的 IP 地址,而昂贵的应用程序网关(每月可能会超过 100 美元)甚至不知道 IP 地址已更改。
azure azure-application-gateway azure-container-service azure-container-instances
我们有一个 azure 的 VM 集群,暴露了一些内部 API。为了更安全,我们使用应用程序网关来卸载 ssl。但我们也想限制可以访问此 API 的外部 IP。有没有办法只允许一定范围的 IP 通过应用程序网关连接?
谢谢。
我有一个使用OWASP 3.0规则集的 Azure 应用程序网关 Web 应用程序防火墙。我创建了一个自定义策略,这样我就可以创建一个自定义规则,该规则仅允许来自特定 IP 地址且优先级为 的流量1。这很棒,我可以在防火墙日志中看到规则已匹配的日志条目。不过,我还看到一些 OWASP 规则也已匹配的日志条目。
我的问题是是否可以阻止对该特定 IP 地址进行进一步的规则/规则集处理?
azure azure-application-gateway web-application-firewall azure-waf
我正在尝试使用应用程序网关设置端到端 SSL 连接以与 AppService 实例进行通信。AppService 实例具有带 SSL 的自定义域。
现在我想保护从客户端到应用程序网关的连接。为网关添加 HTTPS 侦听器时,系统要求我上传证书.pfx。我已成功使用自签名证书设置整个过程,如本指南和此处所述,但是我找不到有关如何生成 pfx 证书以分配给生产中的侦听器的任何信息。
我的问题如下:
ssl certificate azure azure-web-app-service azure-application-gateway
我已在应用程序网关的前面部署了 Azure Front Door。现在,我想通过 Front Door 路由所有流量,并限制对应用程序网关的公共 IP 地址的直接访问。怎么做?
我已经从以下 YAML 部署了 Microsoft 的标准 aspnet 应用程序:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: microservicesapp
annotations:
kubernetes.io/ingress.class: azure/application-gateway
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: aspnetapp
servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
name: aspnetapp
spec:
selector:
app: aspnetapp
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: v1
kind: Pod
metadata:
name: aspnetapp
labels:
app: aspnetapp
spec:
containers:
- image: "mcr.microsoft.com/dotnet/core/samples:aspnetapp"
name: aspnetapp-image
ports:
- containerPort: 80
protocol: TCP
Run Code Online (Sandbox Code Playgroud)
当我调用与我的 AGW 资源关联的公共 IP 时,一切正常。但是,我想配置入口的路径,使其成为/test …