码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【Azure 应用服务】App Service 开启了私有终结点(Private Endpoint)模式后,如何来实现公网Git部署呢?


    问题描述

    因为中国区的App Service对外(公网访问)需要进行ICP备案,所以很多情况下,Web应用部署到App Service后,都是通过Application Gateway(应用程序网关)来对外网暴露,提供公网访问。

    上图列出了使用Application Gateway后,外网访问App Service的示意图。 如果直接访问,则会出现403的错误页面。

    那么,在这样的情况下,我们如何来实现通过公网暴露Git的URI,实现外网成功部署App Service的代码呢?

     

    问题解答

    当然,可以通过Application Gateway 来暴露 App Service默认的GIT Repository 地址 :https://<appservicename>.scm.chinacloudsites.cn:443/<appservicename>.git

    如何配置Application Gateway 与App Service的服务,参考官方文档:使用应用程序网关配置应用服务(https://docs.azure.cn/zh-cn/application-gateway/configure-web-app?tabs=customdomain%2Cazure-portal)

     

    在配置的过程中,必须注意以下三点:

    第一点:为Application Gateway  配置自定义域名 (本次实验中只是短暂使用,所以使用公网IP地址进行解析)

     

    第二点:App Gateway 的后端池(Backend Pool) 不能直接选择App Service,需要选择 IP Address or FQDN,并输入SCM的域名。 如: <appservicename>.scm.chinacloudsites.cn

     

    第三点:为App Gateway配置自定义健康探测(Health Probes),  Host 为SCM域名(<appservicename>.scm.chinacloudsites.cn), Path 可以指向 /<appservicename>.git  或者是SCM的跟目录 / 。

    由于SCM站点的访问时需要认证的,App Gateway发出的探测结果都是401 - Unauthorized 。所以就必须接受401是一个正确的探测结果才行。

     

    以上三点配置完成后,可以回到Application Gateway的Backend Health页面,查看后端池的健康状态,只有当后端池状态为Health时,才能成功访问到后端,否则这会得到502页面。

    如果第三步中没有配置 401为一个匹配的返回状态,则 Backend Health的结果显示为:

    Received invalid status code: 401 in the backend server’s HTTP response. As per the health probe configuration, 200-399 is the acceptable status code. Either modify probe configuration or resolve backend issues.

     

    当Application Gateway设置完成后,开始Local Git的部署验证:

    首先,复制出App Service Local Git Repository 的地址,把 HTTPS 改为 HTTP, 并用 Application Gateway的IP地址代替域名

    然后,使用 git clone http://<ip address>/<appservicename>.git,获取原始库中代码

    最后,使用 git commit / git push / git remote -v 

    Clone/Push截图:

     

     

    参考资料

    使用应用程序网关配置应用服务:https://docs.azure.cn/zh-cn/application-gateway/configure-web-app?tabs=customdomain%2Cazure-portal

    从本地 Git 部署到 Azure 应用服务:https://docs.azure.cn/zh-cn/app-service/deploy-local-git?tabs=cli#prerequisites

     

    [END]

     

  • 相关阅读:
    <C++>深度学习多态
    error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 解决方案
    ConcurrentDictionary<T,V> 的这两个操作不是原子性的
    接口自动化测试系列-excel管理测试用例
    【LeetCode】No.48. Rotate Image -- Java Version
    Qt多线程网络通信-[套接字通信 socket]
    selenium4.0的一些基本用法
    算法训练第六十一天
    flutter开发web应用支持浏览器跨域设置
    对进程的初步认识以及fork()函数的理解
  • 原文地址:https://www.cnblogs.com/lulight/p/16394684.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号