Бұл нұсқаулық жұмыс жүктемесі профильдері бар Container Apps ортасын және ішкі виртуалдық желі кіреберісін қамтиды; оған ноутбуктен бекітілген нүктеден сайтқа VPN арқылы қосылады, қолданбаның тікелей FQDN-і пайдаланылады және орта деңгейінде HTTP маршруттары жоқ. ортаның кіреберісіне клиенттен қол жеткізуге болады, қолданбаның кіру ауқымы шақырушыны қабылдайды және хост атауы жеке кіреберіске шешіледі. Төмендегі әрбір қадам тексерілетін нәтиже мен сіз өзгертпеген ештеңеге қол тигізбейтін кері қайтаруды қалдырады. Оларды берілген ретпен орындаңыз, өйткені 1-қадамда дұрыс емес қабылданған ауқым шешімін кейінгі ешбір қадам өтей алмайды.

DNS-ке қол тигізбес бұрын ішкі сөзін нақтылаңыз. Бұл өнімде ол екі түрлі ауқым үшін қолданылады, және оларды шатастыру жұмыс істейтін атаудың әлі де пайдалы ештеңе қайтармауының ең жиі себебі.

1-қадам: орта мен қолданбаның ауқымын бекіту

Кез келген жазбаны өзгерту алдында қолданбаның кіру конфигурациясын оқыңыз:

SettingBoundary
Internal environmentThe environment entry is reached through its private network arrangement
App with internal ingressCallers from the environment VNet only; a VPN laptop qualifies once it has a route into that VNet and the domain resolves privately
App with external ingress in an internal environmentThe app accepts outside traffic through the environment's private entry

Ішкі кіру ортаның VNet ішіндегі ортаның ішкі жүктеме теңгерушісінде ашылады, сондықтан мәселе ноутбуктің басқа контейнер қолданбасы болуында емес, оның сол VNet-ке жете алуында. VNet-ке маршруты бар және ортаның әдепкі домені жеке аймақ арқылы шешілетін VPN клиенті жарамды шақырушы болып табылады, және қалған қадамдар дәл осыны құрады. Қоғамдық кіреберісі жоқ ішкі орта ішкі кіруі бар қолданбадан өзге факт, ал қолданба деңгейіндегі сыртқы кіру ортаға қоғамдық есік бермейді. Ауқымды порталмен қатар билетке де жазыңыз, өйткені келесі инженер алдымен билетті оқиды.

Жалғастырмас бұрын бұл ауқымды конфигурация иесімен растаңыз және қақпаны тар ұстаңыз: егер ортаның VNet-іне маршрут болмаса немесе ортаның әдепкі домені жеке аймақ арқылы шешілмесе, тоқтап, алдымен сол жолды түзеңіз. VNet-ке жете алмайтын немесе атауды шеше алмайтын шақырушыны кейінгі ешбір қадам алмастыра алмайды.

2-қадам: нақты хост атауы мен кіреберіс мекенжайын жинау

Ортаның әдепкі доменін, оның статикалық жеке кіреберіс мекенжайын және қолданбаның конфигурацияланған FQDN-ін жазып алыңыз; оларды ескі скриншоттан немесе уики бетінен емес, ресурстан алыңыз:

az containerapp env show -n ENV -g RG \
  --query "{domain:properties.defaultDomain, ip:properties.staticIp}"
az containerapp show -n APP -g RG \
  --query "properties.configuration.ingress.fqdn"

Container Apps үшін жеке кіреберіс нұсқаулығы қолданба хост атауларын бұзбай сақтай отырып, орта доменін оның ішкі мекенжайымен сәйкестендіруді сипаттайды. Сіз мұнда дәл осы пішінді қолмен құрып жатырсыз, сондықтан жаңа атау схемасын ойлап таппай, аймақ мазмұнын оған сәйкестендіріңіз.

Егер оқыған домен қолданба хабарлайтын FQDN-ге сәйкес келмесе, тоқтап, оларды дәл қазір келістіріңіз. Қате жұрнаққа аймақ құру мінсіз шешілетін, бірақ бәрібір қате виртуалды хостқа түсетін хост атауын тудырады.

3-қадам: жеке аймақты VPN шешушісінің жолына қою

Ортаның нақты әдепкі домені үшін қолдау көрсетілетін жеке DNS аймағын жасаңыз немесе қайта пайдаланыңыз, құжатталған алмастырғыш және мекенжай жазбалары статикалық кіреберіске сілтесін. Сол аймақты тиісті виртуалдық желіге байланыстырыңыз және жеке билікті VPN-нің бекітілген шешуші жолы арқылы қолжетімді етіңіз, байланыс жеткілікті деп болжамай.

Нүктеден сайтқа клиенті әдетте сол аймаққа жету үшін жеке шешушінің кіріс соңғы нүктесін немесе қолдау көрсетілетін DNS қайта жіберушісін қажет етеді. Аймақты байланыстыру Azure байланысқан желілер үшін шешетін нәрсені өзгертеді; ол әр сыртқы ноутбуктің қоғамдық шешушісін қайта бағыттамайды. Басқа Container Apps желілік моделінен алынған жеке соңғы нүкте DNS аймағымен алмастырмаңыз, өйткені жазба атаулары мен аймақ жұрнағы сәйкес келмейді.

Бұл қадамның кері қайтаруы — аймақ байланысын немесе сіз қосқан жазбаны жою. Оның қайсысы болғанын жазып қойыңыз, өйткені бір байланысты болдырмау үшін ортақ аймақты жою екінші ортаны бұзудың кең тараған жолы.

4-қадам: атауды, содан кейін бас тартылған аудиторияны тексеру

Хост атауы мен TLS сәйкестігін бірге тексеріңіз, тек мекенжайды емес. Бақыланатын атауларды салыстыру диагностикасы үшін хост атауын сақтай отырып, мекенжайды бекітуге болады:

curl --resolve app.ENVIRONMENT_DOMAIN:443:10.40.0.10 \
    https://app.ENVIRONMENT_DOMAIN/

Хост атауын қолданбаның нақты FQDN-імен, ал мекенжайды нақты ішкі кіреберіспен алмастырыңыз. Бұл тек сол бір сұранысқа әсер етеді және DNS қамтамасыз ету емес. Сәйкестік қатесін көрінетін өтуге айналдыру үшін -k қоспаңыз, өйткені сертификаттың сәйкессіздігі қате тыңдаушыға тиіп жатқаныңыздың белгісі.

Сандық мекенжайды тікелей сұрау TCP 443 жауап беріп тұрса да қате виртуалды хостты таңдауы немесе тексеруден өтпей қалуы мүмкін, сондықтан сәтті IP сынағын желі туралы дәлел деп санаңыз, одан артық емес. Мақсатты ноутбуктен қалыпты шешуші жолы — клиенттің DNS қайта жіберушісі немесе аймақты ұстаушы жеке шешушінің кіріс соңғы нүктесі, ал ондағы сәтсіздік жоғалған жазба емес, шешушіге жету мәселесі. Сол жолда дәл осы сұраныс сәтті болатынын растаңыз, содан кейін бас тартылған аудиторияның әлі де бас тартылғанын растаңыз.

Нені жазу керек және нені кері қайтару керек

Контейнердің мақсатты порты мен клиенттің HTTPS порты бөлек параметрлер. Контейнер сонда тыңдайтындықтан, оның мақсатты портын VPN арқылы жарияламаңыз, және порт сынағы өтуі үшін желі ережесін кеңейтпеңіз. Екі өзгеріс те оқиғадан кейін өмір сүреді және кейін оларды тиесілі ету қиын.

Мақсатты ноутбуктен оның рұқсат етілген сәйкестігімен және қалыпты DNS-імен жаңа қолданба операциясымен аяқтаңыз, содан кейін рұқсат етілмеген шақырушының әлі де сәтсіз болатынын тексеріңіз. Қолданба конфигурациясында жүргенде, орта деңгейіндегі HTTP маршруты бұл қолданбаны мақсат ретінде аша ма, соны да растаңыз, өйткені сол маршрут — кіру ауқымы сипаттамайтын екінші есік.

Бес мәнді бірге жазыңыз: орта ауқымы, қолданбаның кіру ауқымы, FQDN, жеке кіреберіс мекенжайы және шешуші иесі. Осы бесеуі бүкіл қатынау шартын сипаттайды, және оны жөндейтін келесі адам дәл осыларды сұрайды.

Қатысты мақалалар