azure - Azure - 没有公共 IP 的应用程序网关
问题描述
我正在尝试在 Azure 上部署我的应用程序。目前,我在一个子网 s1 中部署了一个应用程序网关,在后端池中我有 Linux VM。根据要求,我不能使用任何公共 ip,所以我在应用程序网关上只使用私有 ip。由于我们在部署应用程序时需要互联网连接,因此我尝试将 NSG 连接到应用程序网关的子网,并允许入站“互联网”。当我将 NSG 附加到应用程序网关子网时,后端运行状况显示为不健康并出现错误:
“无法连接到服务器。检查是否有任何 NSG/UDR/防火墙阻止访问服务器。检查应用程序是否在正确的端口上运行。”
我尝试添加 MSFT 文档https://docs.microsoft.com/en-us/azure/application-gateway/configuration-overview#allow-application-gateway-access-to-a-few-source-ips中指定的规则但它没有帮助。所以我的问题是:
- 我还需要在应用程序网关的子网中向 NSG 添加什么内容吗?
- 使用 NSG 上的入站规则允许 Internet 访问是一个好策略吗?(入站规则 -> 服务标签 -> 互联网)。有没有其他方法可以让我在部署时访问互联网?PS:我根本不允许使用公共IP。
非常感谢!
解决方案
您可以使用公共 IP 和专用 IP 部署应用程序网关。您需要做的就是使用私有前端 IP 创建侦听器并保留公共 IP。
由于公共 IP 未与任何侦听器连接,因此没有人能够通过您的应用程序网关的公共 IP 从 Internet 访问您的站点。
当 AppGW 需要发起出站到 Internet 时,它使用该公共 IP。
注意:您不能在 V2 部署中仅将私有 IP 作为前端,并且您可以在 V1 SKU 中部署仅使用私有前端 IP 的应用程序网关。
推荐阅读
- python - 将权重传递给 scipy.interpolate.griddata() 函数
- python - 有没有办法正确调整游戏屏幕的大小?
- pandas - pyarrow 和 fastparquet 都不能正确读取 spark 的矢量输出
- python - 将整数列表放入现有字典中
- excel - 无法单击特定标记名 (
- ) 用 VBA excel
- android - android WebView 内容滚动时如何停止触摸事件?
- reactjs - 发生意外错误:“EISDIR:对目录的非法操作,已读取”
- ios - SwiftUI 拖动以关闭 ScrollView
- java - 抑制使用 JsonFormat 注释的 LocalDate 字段的 InvalidFormatException/反序列化异常
- gitlab - gitlab k3s runner WARNING: Checking for jobs... failed x509: certificate signed by unknown authority