【DevOps】通过 Azure DevOps 部署启用私有端点的应用服务

2022-03-12T11:44:02+08:00 | 2分钟阅读 | 更新于 2022-03-12T11:44:02+08:00

Macro Zhao

【DevOps】通过 Azure DevOps 部署启用私有端点的应用服务

推荐超级课程:

@TOC

有一种常见的场景是,客户希望他们的应用服务部署在私有网络内部,并且不能被公共网络访问。因此,他们通常会启用私有端点并配置访问限制,以拒绝所有公共流量。 当启用私有端点并拒绝公共流量到 Web 应用程序时,所有到这个应用的公共流量都会被切断。由于部署代理的范围有一系列的 IP 地址,它们有一个公共 IP。显然,这些代理无法访问 Web 应用程序。

作为解决方案,我们可以在防火墙中允许 IP 范围列表,或者使用自托管代理进行部署。

你可以查看以下文档获取更多信息 Microsoft 托管代理用于 Azure 管道

在下面的实验室中,我们将演示两个测试。 一个是如果我们使用 Microsoft 代理将代码部署到具有私有端点的 Web 应用程序会发生什么, 另一个是如何使用自托管代理进行部署。

实验

测试 1:使用 Microsoft 托管代理部署

结果:由于 Web 应用程序无法通过互联网访问,我们将看到错误:无法将 Web 包部署到应用服务。IP 禁止 (代码:403)。

创建一个新的管道

在这里,我在这个演示中选择了 GitHub

部署一个 Django 应用程序。所以我选择了第二个。

选择订阅和 Web 应用程序名称

保存并运行

Web 应用程序启用了私有端点,这意味着入站流量需要来自与 Web 应用程序相同子网中的私有 IP 或具有访问此应用服务权限的 IP。 然而,Microsoft 代理在公共网络上运行。部署失败,出现错误 - 无法将 Web 包部署到应用服务。IP 禁止 (代码:403)

测试 2:在 Linux VM (Ubuntu 20.04) 上使用自托管代理部署

结果:它工作得很好。部署成功。

在 Web 应用程序的同一 VNET 中创建 Linux VM (Ubuntu 20.04)。

在 Azure Devops 门户中,添加代理池

然后是新的代理,并选择你的构建机器的操作系统。(在这里,我选择 Linux)

获取个人访问令牌

新的令牌并授予对代理池的权限

记住记录这个令牌,因为它不会再显示。

SSH 到 Linux VM 并配置代理以连接 Azure 管道 下载并创建代理

配置代理设置 服务器 URL:

请参考 在 Linux 上部署 Azure 管道代理 - Azure 管道 | Microsoft Learn

运行代理

从门户检查代理是否在线

为了避免混淆,我们在这里创建了一个独立的管道。

创建步骤与之前的步骤相同: 新管道 -> GitHub -> Python 到 Azure 上的 Linux Web 应用程序 -> 选择订阅 -> 选择 Web 应用程序名称 -> 保存并运行

修改 yml 文件。将池更改为刚刚创建的池。

然后,再次运行管道。我们可以看到这次它部署成功了。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee