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
Gå till din API Management instans i Azure Portal.
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.netUtvecklarportalen Standardvärdet är: <apim-service-name>.developer.azure-api.netHantering Standardvärdet är: <apim-service-name>.management.azure-api.netSCM Standardvärdet är: <apim-service-name>.scm.azure-api.netAnteckning
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.
Välj +Lägg till eller välj en befintlig slutpunkt som du vill uppdatera.
I fönstret till höger väljer du typ av slutpunkt för den anpassade domänen.
I fältet Värdnamn anger du det namn som du vill använda. Till exempel
api.contoso.com.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.
- Key Vault
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).
Välj Uppdatera.
Anteckning
Domännamn med jokertecken, till
*.contoso.comexempel , 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
autorenewtill tjänsten.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.