Konfigurera ett anpassat domännamn för din Azure API Management instans

När du skapar en Azure API Management-tjänstinstans tilldelar Azure den en azure-api.net underdomän (till exempel apim-service-name.azure-api.net ). Du kan också exponera API Management slutpunkter med ditt eget domännamn, till exempel contoso.com . Den här självstudien visar hur du mappar ett befintligt anpassat DNS-namn till slutpunkter som exponeras av API Management instans.

Viktigt

API Management endast begäranden med matchning av värdhuvudvärden:

  • Standarddomännamnet
  • Något av de konfigurerade anpassade domännamnen

Varning

Om du vill förbättra säkerheten för dina program med pin-kodning av certifikat måste du använda ett anpassat domännamn och certifikat som du hanterar, inte standardcertifikatet. Att fästa standardcertifikatet kräver ett starkt beroende av egenskaperna för det certifikat som du inte hanterar, vilket vi inte rekommenderar.

Förutsättningar

  • En aktiv Azure-prenumeration. Om du inte har en Azure-prenumerationkan du skapa ett kostnads fritt konto innan du börjar.
  • En API Management instans. Mer information finns i Skapa en Azure API Management instans.
  • Ett anpassat domännamn som ägs av dig eller din organisation. Det här avsnittet innehåller inte anvisningar om hur du skaffar ett anpassat domännamn.
  • En CNAME-post som finns på en DNS-server som mappar det anpassade domännamnet till standarddomännamnet för din API Management instans. Det här avsnittet innehåller inte instruktioner om hur du är värd för en CNAME-post.
  • Ett giltigt certifikat med en offentlig och privat nyckel (. PFX). Alternativt ämnesnamn (SAN) måste matcha domännamnet (detta gör att API Management kan exponera URL:er över TLS på ett säkert sätt).

Använd Azure Portal för att ange ett anpassat domännamn

  1. Gå till din API Management instans i Azure Portal.

  2. Välj Anpassade domäner.

    Det finns ett antal slutpunkter som du kan tilldela ett anpassat domännamn till. För närvarande är följande slutpunkter tillgängliga:

    Slutpunkt Standardvärde
    Gateway Standardvärdet är: <apim-service-name>.azure-api.net . Gateway är den enda slutpunkt som är tillgänglig för konfiguration på förbrukningsnivån.
    Utvecklarportal (äldre) Standardvärdet är: <apim-service-name>.portal.azure-api.net
    Utvecklarportalen Standardvärdet är: <apim-service-name>.developer.azure-api.net
    Hantering Standardvärdet är: <apim-service-name>.management.azure-api.net
    SCM Standardvärdet är: <apim-service-name>.scm.azure-api.net

    Anteckning

    Du kan uppdatera vilken som helst av slutpunkterna. Vanligtvis uppdaterar kunder gatewayen (denna URL används för att anropa api:et som exponeras via API Management) och portalen (URL:en för utvecklarportalen).

    Endast API Management-instansägare kan använda hanterings- och SCM-slutpunkter internt. Dessa slutpunkter tilldelas mindre ofta ett anpassat domännamn.

    Nivåerna Premium Och Utvecklare stöder inställning av flera värdnamn för gatewayslutpunkten.

  3. Välj +Lägg till eller välj en befintlig slutpunkt som du vill uppdatera.

  4. I fönstret till höger väljer du typ av slutpunkt för den anpassade domänen.

  5. I fältet Värdnamn anger du det namn som du vill använda. Till exempel api.contoso.com.

  6. Under Certifikat väljer du antingen Key Vault eller Anpassad.

    • Key Vault
      • Klicka på Välj.
      • Välj Prenumeration i listrutan.
      • Välj nyckelvalvet i listrutan.
      • När certifikaten har lästs in väljer du certifikatet i listrutan.
      • Klicka på Välj.
    • Anpassad
      • Välj fältet Certifikatfil för att välja och ladda upp ett certifikat.
      • Upload en giltig . PFX-filen och ange lösenordet, om certifikatet är skyddat med ett lösenord.
  7. När du konfigurerar en gatewayslutpunkt markerar eller avmarkerar du andra alternativ efter behov,till exempel Negotiate client certificate (Förhandla klientcertifikat) eller Default SSL binding (Standard SSL-bindning).

  8. Välj Uppdatera.

    Anteckning

    Domännamn med jokertecken, till *.contoso.com exempel , stöds på alla nivåer utom förbrukningsnivån.

    Tips

    Vi rekommenderar att Azure Key Vault för att hantera certifikat och ange dem till autorenew .

    Om du använder Azure Key Vault för att hantera TLS/SSL-certifikatet för den anpassade domänen kontrollerar du att certifikatet infogas i en Key Vault som ett certifikat ,inte en hemlighet.

    Om du vill hämta ett TLS-/SSL-certifikat API Management ha listan och få hemligheter för den Azure Key Vault som innehåller certifikatet.

    • När du Azure Portal konfigurationssteg slutförs alla nödvändiga konfigurationssteg automatiskt.
    • När du använder kommandoradsverktyg eller hanterings-API måste dessa behörigheter beviljas manuellt i två steg:
      • Använd sidan Hanterade identiteter på din API Management instans och kontrollera att Hanterad identitet är aktiverat och anteckna huvudnamns-ID:t på sidan.
      • Ge behörighetslistan och få hemligheter till det här huvudnamns-ID:t på Azure Key Vault som innehåller certifikatet.

    Om certifikatet är inställt på och din API Management-nivå har serviceavtal (d.v.s. på alla nivåer utom Developer-nivån) hämtar API Management den senaste versionen automatiskt utan avbrottstid autorenew till tjänsten.

  9. Klicka på Använd.

    Anteckning

    Processen för att tilldela certifikatet kan ta 15 minuter eller mer beroende på storleken på distributionen. SKU för utvecklare har stilleståndstid, medan Basic och högre SKU:er inte gör det.

Hur API Management proxyservern svarar med SSL-certifikat i TLS-handskakningen

Klienter som anropar med Servernamnindikator -huvudet (SNI)

Om du har en eller flera anpassade domäner konfigurerade för proxy (gateway) kan API Management svara på HTTPS-begäranden från båda:

  • Anpassad domän (till exempel contoso.com )
  • Standarddomän (till exempel apim-service-name.azure-api.net ).

Baserat på informationen i SNI-huvudet API Management med lämpligt servercertifikat.

Klienter som anropar utan SNI-huvud

Om du använder en klient som inte skickar SNI-huvudet API Management svar baserat på följande logik:

  • Om tjänsten bara har en anpassad domän konfigurerad för Proxy är standardcertifikatet det certifikat som utfärdats till den anpassade proxydomänen.
  • Om tjänsten har konfigurerat flera anpassade domäner för Proxy (stöds på nivån Developer och Premium) kan du ange standardcertifikatet genom att ange egenskapen defaultSslBinding till true ("defaultSslBinding":"true"). Om du inte anger egenskapen är standardcertifikatet det certifikat som utfärdats till standardproxydomänen som finns på *.azure-api.net .

Stöd för PUT/POST-begäran med stor nyttolast

API Management Proxy-servern stöder begäranden med stora nyttolaster (> 40 kB) när du använder certifikat på klientsidan i HTTPS. Om du vill förhindra att serverns begäran fryser kan du ange egenskapen "negotiateClientCertificate": "true" på proxyvärdnamnet.

Om egenskapen har angetts till true begärs klientcertifikatet vid SSL/TLS-anslutningstid, före ett HTTP-begärandeutbyte. Eftersom inställningen gäller på nivån Proxyvärdnamn frågar alla anslutningsförfrågningar efter klientcertifikatet. Du kan komma runt den här begränsningen och konfigurera upp till 20 anpassade domäner för Proxy (stöds endast på Premium-nivån).

DNS-konfiguration

När du konfigurerar DNS för ditt anpassade domännamn kan du antingen:

  • Konfigurera en CNAME-post som pekar på slutpunkten för ditt konfigurerade anpassade domännamn, eller
  • Konfigurera en A-post som pekar på din API Management IP-adress.

Även om både CNAME-poster (eller aliasposter) och A-poster gör att du kan associera ett domännamn med en specifik server eller tjänst, fungerar de annorlunda.

CNAME- eller aliaspost

En CNAME-post mappar en specifik domän (till exempel contoso.com eller www . contoso.com) till ett kanoniskt domännamn. När den har skapats skapar CNAME ett alias för domänen. CNAME-posten matchas automatiskt till IP-adressen för din anpassade domäntjänst, så om IP-adressen ändras behöver du inte vidta några åtgärder.

Anteckning

Vissa domänregistratorer tillåter endast att du mappar underdomäner när du använder en CNAME-post, till exempel www contoso.com och inte . rotnamn, till exempel contoso.com. Mer information om CNAME-poster finns i dokumentationen som tillhandahålls av registratorn, Wikipedia-posten på CNAME-recordeller dokumentet IETF Domain Names - Implementation and Specification ( IETF-domännamn – implementering och specifikation).

A-post

En A-post mappar en domän, till exempel eller www contoso.com , eller en domän med jokertecken, till exempel contoso.com * .contoso.com, till en IP-adress. . Eftersom en A-post mappas till en statisk IP-adress kan den inte automatiskt matcha ändringar i IP-adressen. Vi rekommenderar att du använder den mer stabila CNAME-posten i stället för en A-post.

Anteckning

Även om ip API Management instansens IP-adress är statisk, kan den ändras i några scenarier. När du väljer DNS-konfigurationsmetod rekommenderar vi att du använder en CNAME-post när du konfigurerar en anpassad domän, eftersom den är mer stabil än en A-post om IP-adressen skulle ändras. Läs mer i artikeln om IP-dokumentation och vanliga API Management vanliga frågor och svar.

Nästa steg

Uppgradera och skala tjänsten