Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln beskrivs hur du åtgärdar ett timeout-scenario som inträffar när du försöker hämta en containeravbildning eller artefakt från Azure Container Registry.
Förutsättningar
- Telnet-verktyget
- Verktyget NetCat (
nc)
Symptom
Du får följande felmeddelande:
Hämta "https://< container-registry-name.azurecr.io/v2/>": net/http: begäran avbröts i väntan på anslutning (Client.Timeout överskreds i väntan på rubriker)
Orsak 1: Port 443 är inte tillgänglig på inloggningsservern
Autentiserings- och registerhanteringsåtgärder hanteras via registrets offentliga inloggningsserver, men kommunikationen via port 443 fungerar inte korrekt.
Kommentar
Azure Container Registry-inloggningsservern kallas även register-REST API-slutpunkten. Den här inloggningsservern har ett domännamnsformat på <container-registry-name>.azurecr.io.
Om du vill testa anslutningen manuellt mellan enheten och Azure Container Registry-inloggningsservern på port 443 kör du kommandot telnet eller NetCat:
telnet <container-registry-name>.azurecr.io 443
nc -vz <container-registry-name>.azurecr.io 443
Lösning 1: Gör port 443 tillgänglig för kommunikation mellan enheten och inloggningsservern
Kontrollera att nätverksanslutningen finns mellan enheten och Azure Container Registry-inloggningsservern via port 443.
Om enheten ingår i en begränsad nätverksarkitektur kontrollerar du att den har nätverksanslutning med Azure Container Registry-inloggningsservern via port 443. Du kan överväga att kontrollera potentiella befintliga brandväggar, proxyservrar, åtkomstkontrollistor, internetleverantörsbegränsningar och så vidare.
Orsak 2: Kommunikationen blockeras av en NSG som är associerad med nätverkskortet eller undernätet för en virtuell dator
Om du använder en virtuell Azure-dator (VM) för att hämta från Azure Container Registry kan en nätverkssäkerhetsgrupp (NSG) blockera kommunikationen mellan enheten och inloggningsservern. Den blockerande NSG:n är associerad med nätverkskortet eller undernätet för den virtuella Azure-datorn.
Kör telnet- eller NetCat-kommandot som visas i Orsak 1. Om kommandots utdata visar att en timeout uppstod kontrollerar du om NSG-konfigurationen blockerar IP-adressen för lagringskontot. För att göra detta följer du stegen nedan:
I Azure Portal söker du efter och väljer Network Watcher.
I menyfönstret Network Watcher väljer du Nätverksdiagnostikverktyg>NSG-diagnostik.
I Network Watcher | På sidan NSG-diagnostik fyller du i formuläret genom att följa anvisningarna i följande tabell.
Fält Åtgärd Målresurstyp Välj Virtuell dator i listan. Virtuell dator Ange eller välj namnet på den virtuella Azure-datorn i listan. Protokoll Välj TCP i listan. Riktning Välj alternativet Utgående. Källtyp Välj IPv4-adress/CIDR i listan. IPv4-adress/CIDR Ange IP-adressen för den virtuella Azure-datorn. Mål-IP-adress Ange IP-adressen för Azure Container Registry. Målport Ange 443. Välj knappen Kör NSG-diagnostik.
I rutan Resultat markerar du värdet för fältet Trafikstatus .
Fältet Trafikstatus kan ha värdet Tillåten eller Nekad. Statusen Nekad innebär att nätverkssäkerhetsgruppen blockerar trafiken mellan den virtuella Azure-datorn och Azure Container Registry. I det här fallet visas även namnet på den blockerande NSG:n i rutan Resultat . Leta reda på NSG-namnkolumnen i resultattabellen för raden där motsvarande värde för den tillämpade åtgärdskolumnen är Neka.
Lösning 2: Ändra NSG-konfigurationen för att tillåta anslutning mellan den virtuella datorn och Azure Container Registry
Gör ändringar på NSG-nivå så att anslutningen tillåts mellan den virtuella Azure-datorn och Azure Container Registry på port 443. Mer specifikt kontrollerar du att följande villkor är uppfyllda.
| Villkor | Mer information |
|---|---|
| Routningstabellen släpper inte trafik mot Azure Container Registry-inloggningsservern. Trafiken tas bort om nästa hopp är inställt på Ingen för en väg som är associerad med Azure Container Registry-inloggningsservern. | Trafikdirigering i virtuella nätverk |
| Om routningstabellen skickar trafiken mot en virtuell installation, till exempel en brandvägg som är associerad med undernätet för virtuella Azure-datorer, kontrollerar du att brandväggen inte blockerar trafik till Azure Container Registry-inloggningsservern på port 443. | Konfigurera regler för åtkomst till ett Azure-containerregister bakom en brandvägg |
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.