Een aangepaste domeinnaam configureren voor uw Azure API Management-exemplaar
Wanneer u een Azure API Management service-exemplaar maakt, wijst Azure er een azure-api.net subdomein aan toe (bijvoorbeeld apim-service-name.azure-api.net ). U kunt uw eindpunten ook API Management uw eigen aangepaste domeinnaam, zoals contoso.com . In deze zelfstudie leert u hoe u een bestaande aangepaste DNS-naam toe te wijst aan eindpunten die worden weergegeven door een API Management exemplaar.
Belangrijk
API Management accepteert alleen aanvragen met overeenkomende hostheaderwaarden:
- De standaarddomeinnaam
- Een van de geconfigureerde aangepaste domeinnamen
Waarschuwing
Als u de beveiliging van uw toepassingen wilt verbeteren met het vastmaken van certificaten, moet u een aangepaste domeinnaam en een aangepast certificaat gebruiken dat u beheert, niet het standaardcertificaat. Het vastmaken van het standaardcertificaat is afhankelijk van de eigenschappen van het certificaat dat u niet beheert. Dit wordt niet aanbevolen.
Vereisten
- Een actief Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Een API Management-exemplaar. Zie Een Azure API Management maken voor meer informatie.
- Een aangepaste domeinnaam die eigendom is van u of uw organisatie. Dit onderwerp bevat geen instructies voor het aanschaffen van een aangepaste domeinnaam.
- Een CNAME-record die wordt gehost op een DNS-server die de aangepaste domeinnaam toe te voegen aan de standaarddomeinnaam van uw API Management exemplaar. Dit onderwerp bevat geen instructies voor het hosten van een CNAME-record.
- Een geldig certificaat met een openbare en persoonlijke sleutel (. PFX). De alternatieve naam voor onderwerp of onderwerp (SAN) moet overeenkomen met de domeinnaam (hierdoor kan API Management-exemplaar veilig URL's via TLS blootstellen).
Gebruik de Azure Portal om een aangepaste domeinnaam in te stellen
Navigeer naar API Management-exemplaar in Azure Portal.
Selecteer Aangepaste domeinen.
Er zijn een aantal eindpunten waaraan u een aangepaste domeinnaam kunt toewijzen. Op dit moment zijn de volgende eindpunten beschikbaar:
Eindpunt Standaard Gateway De standaardwaarde is: <apim-service-name>.azure-api.net. Gateway is het enige eindpunt dat beschikbaar is voor configuratie in de verbruikslaag.Ontwikkelaarsportal (verouderd) De standaardwaarde is: <apim-service-name>.portal.azure-api.netontwikkelaarsportal De standaardwaarde is: <apim-service-name>.developer.azure-api.netBeheer De standaardwaarde is: <apim-service-name>.management.azure-api.netSCM De standaardwaarde is: <apim-service-name>.scm.azure-api.netNotitie
U kunt elk van de eindpunten bijwerken. Normaal gesproken werken klanten Gateway bij (deze URL wordt gebruikt om de API aan te roepen die beschikbaar wordt gemaakt via API Management) en Portal (de URL van de ontwikkelaarsportal).
Alleen API Management-exemplaareigenaren kunnen beheer- en SCM-eindpunten intern gebruiken. Aan deze eindpunten wordt minder vaak een aangepaste domeinnaam toegewezen.
De lagen Premium en Developer ondersteunen het instellen van meerdere hostnamen voor het gateway-eindpunt.
Selecteer +Toevoegen of selecteer een bestaand eindpunt dat u wilt bijwerken.
Selecteer in het venster aan de rechterkant het Type eindpunt voor het aangepaste domein.
Geef in het veld Hostnaam de naam op die u wilt gebruiken. Bijvoorbeeld
api.contoso.com.Selecteer onder Certificaat de optie Key Vault of Aangepast.
- Key Vault
- Klik op Selecteren.
- Selecteer het Abonnement in de vervolgkeuzelijst.
- Selecteer de sleutelkluis in de vervolgkeuzelijst.
- Nadat de certificaten zijn geladen, selecteert u het Certificaat in de vervolgkeuzelijst.
- Klik op Selecteren.
- Aangepast
- Selecteer het veld Certificaatbestand om een certificaat te selecteren en te uploaden.
- Upload een geldige . PFX-bestand en geef het wachtwoord op als het certificaat is beveiligd met een wachtwoord.
- Key Vault
Wanneer u een gateway-eindpunt configureert, selecteert of deselecteertu indien nodig andere opties, zoals Onderhandelen over clientcertificaat of Standaard SSL-binding.
Selecteer Update.
Notitie
Domeinnamen met jokertekens, zoals
*.contoso.com, worden ondersteund in alle lagen, met uitzondering van de verbruikslaag.Tip
We raden u aan Azure Key Vault te gebruiken voor het beheren van certificaten en deze in te stellen op
autorenew.Als u Azure Key Vault gebruikt om het aangepaste TLS/SSL-certificaat van het domein te beheren, moet u ervoor zorgen dat het certificaat als certificaat in Key Vault wordt ingevoegd,niet als een geheim.
Als u een TLS/SSL-certificaat wilt ophalen, moet API Management beschikken over de machtigingen list en get secrets op de Azure Key Vault die het certificaat bevat.
- Wanneer u Azure Portal, worden alle benodigde configuratiestappen automatisch uitgevoerd.
- Wanneer u opdrachtregelprogramma's of beheer-API gebruikt, moeten deze machtigingen handmatig worden verleend, in twee stappen:
- Gebruik de pagina Beheerde identiteiten op uw API Management-exemplaar om ervoor te zorgen dat Beheerde identiteit is ingeschakeld en noteer de principal-id op die pagina.
- Geef de lijst met machtigingen op en haal geheimenmachtigingen op voor deze principal-id op de Azure Key Vault het certificaat bevat.
Als het certificaat is ingesteld op en uw API Management-laag een SLA heeft (dat wil zeggen in alle lagen behalve de Developer-laag), haalt API Management automatisch de nieuwste versie op, zonder downtime voor de
autorenewservice.Klik op Toepassen.
Notitie
Het toewijzen van het certificaat kan 15 minuten of meer duren, afhankelijk van de grootte van de implementatie. Ontwikkelaars-SKU heeft downtime, basic en hogere SKU's niet.
Hoe API Management proxyserver reageert met SSL-certificaten in de TLS-handshake
Clients die aanroepen met Servernaamindicatie (SNI)-header
Als u een of meer aangepaste domeinen hebt geconfigureerd voor proxy (gateway), kunnen API Management reageren op HTTPS-aanvragen van beide:
- Aangepast domein (bijvoorbeeld
contoso.com) - Standaarddomein (bijvoorbeeld
apim-service-name.azure-api.net).
Op basis van de informatie in de SNI-header reageert API Management met het juiste servercertificaat.
Clientoproepen zonder SNI-header
Als u een client gebruikt die de SNI-header niet verzendt, API Management antwoorden op basis van de volgende logica:
- Als voor de service slechts één aangepast domein is geconfigureerd voor Proxy, is het standaardcertificaat het certificaat dat is uitgegeven aan het aangepaste proxydomein.
- Als de service meerdere aangepaste domeinen heeft geconfigureerd voor Proxy (ondersteund in de developer- en Premium-laag), kunt u het standaardcertificaat aanwijzen door de eigenschap defaultSslBinding in te stellen op true ('defaultSslBinding':'true'). Als u de eigenschap niet in stelt, is het standaardcertificaat het certificaat dat is uitgegeven aan het standaard proxydomein dat wordt gehost op
*.azure-api.net.
Ondersteuning voor PUT/POST-aanvragen met grote nettolading
API Management proxyserver ondersteunt aanvragen met grote nettoladingen (> 40 kB) bij het gebruik van certificaten aan de clientzijde in HTTPS. Als u wilt voorkomen dat de aanvraag van de server bevriest, kunt u de eigenschap negotiateClientCertificate: 'true' instellen op de hostnaam van de proxy.
Als de eigenschap is ingesteld op Waar, wordt het clientcertificaat aangevraagd op de tijd van de SSL/TLS-verbinding, vóór HTTP-aanvragen worden uitgewisseld. Omdat de instelling van toepassing is op het niveau Proxy-hostnaam, vragen alle verbindingsaanvragen om het clientcertificaat. U kunt deze beperking omzeilen en maximaal 20 aangepaste domeinen configureren voor proxy (alleen ondersteund in Premium laag).
DNS-configuratie
Wanneer u DNS configureert voor uw aangepaste domeinnaam, kunt u het volgende doen:
- Configureer een CNAME-record die naar het eindpunt van uw geconfigureerde aangepaste domeinnaam wijst, of
- Configureer een A-record die naar het IP-adres van API Management gateway wijst.
Hoewel u met CNAME-records (of aliasrecords) en A-records beide een domeinnaam kunt koppelen aan een specifieke server of service, werken ze anders.
CNAME- of Alias-record
Een CNAME-record wijs een specifiek domein (zoals of contoso.com www . contoso.com) toe aan een canonieke domeinnaam. Zodra de CNAME is gemaakt, wordt er een alias voor het domein gemaakt. De CNAME-vermelding wordt automatisch opgelost in het IP-adres van uw aangepaste domeinservice, dus als het IP-adres wordt gewijzigd, hoeft u geen actie te ondernemen.
Notitie
Bij sommige domeinregistrar's kunt u alleen subdomeinen in kaart brengen wanneer u een CNAME-record gebruikt, zoals www contoso.com, en geen . hoofdnamen, zoals contoso.com. Zie de documentatie van uw registrar, de Wikipedia-vermelding op CNAME-record of het document IETF Domain Names - Implementation and Specification voor meer informatie over CNAME-records.
A-record
Met een A-record wordt een domein, zoals contoso.com of www . contoso.com, of een wildcard-domein, zoals * .contoso.com, aan een IP-adres. Omdat een A-record is toe te staan aan een statisch IP-adres, kunnen wijzigingen in het IP-adres niet automatisch worden opgelost. We raden u aan de stabielere CNAME-record te gebruiken in plaats van een A-record.
Notitie
Hoewel het ip API Management adres van het exemplaar statisch is, kan dit in een aantal scenario's veranderen. Bij het kiezen van de DNS-configuratiemethode wordt u aangeraden een CNAME-record te gebruiken bij het configureren van een aangepast domein, omdat deze stabieler is dan een A-record als het IP-adres verandert. Lees meer in het artikel over IP-documentatie en de veelgestelde API Management ip-adressen.