Skip to content

Commit 9b07e6d

Browse files
Merge pull request #312039 from cdpark/refresh-apicenter-batch1
Feature 551038: Q&M: Content Freshness for API Center - batch 1
2 parents 48da742 + b6ba037 commit 9b07e6d

4 files changed

Lines changed: 133 additions & 104 deletions

File tree

Lines changed: 26 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,62 @@
11
---
2-
title: Cannot add custom domain by using Key Vault certificate
2+
title: Failed to Add Custom Domain Using Key Vault Certificate
33
titleSuffix: Azure API Management
4-
description: Learn how to troubleshoot the issue in which you can't add a custom domain in Azure API Management by using a key vault certificate.
4+
description: Learn how to troubleshoot failure to add a custom domain in Azure API Management using a key vault certificate.
55
services: api-management
66
author: genlin
77
manager: dcscontentpm
88
ms.service: azure-api-management
9-
ms.topic: how-to
10-
ms.date: 07/19/2019
9+
ms.topic: troubleshooting-general
10+
ms.date: 02/18/2026
1111
ms.author: tehnoonr
1212
ms.custom: sfi-image-nochange
1313
---
1414

15-
# Failed to update API Management service hostnames
15+
# Troubleshoot: Failed to update API Management service hostnames
1616

1717
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1818

19-
This article describes the "Failed to update API Management service hostnames" error that you may experience when you add a custom domain for the Azure API Management service. This article provides troubleshooting steps to help you resolve the issue.
19+
This article describes the "Failed to update API Management service hostnames" error, which might occur when you add a custom domain for the Azure API Management service. The following steps can help you resolve the issue.
2020

21-
## Symptoms
21+
## Symptom
2222

2323
When you try to add a custom domain for your API Management service by using a certificate from Azure Key Vault, you receive the following error message:
2424

25-
- Failed to update API Management service hostnames. Request to resource 'https://vaultname.vault.azure.net/secrets/secretname/?api-version=7.0' failed with StatusCode: Forbidden for RequestId: . Exception message: Operation returned an invalid status code 'Forbidden'.
25+
```output
26+
Failed to update API Management service hostnames. Request to resource 'https://vaultname.vault.azure.net/secrets/secretname/?api-version=7.0' failed with StatusCode: Forbidden for RequestId: . Exception message: Operation returned an invalid status code 'Forbidden'.
27+
```
2628

2729
## Cause
2830

29-
The API Management service does not have permission to access the key vault that you're trying to use for the custom domain.
31+
The API Management service doesn't have permission to access the key vault that you're trying to use for the custom domain.
3032

3133
## Solution
3234

3335
To resolve this issue, follow these steps:
3436

35-
1. Go to the [Azure portal](https://portal.azure.com), select your API Management instance, and then select **Managed identities**. Make sure that the **Register with Microsoft Entra ID** option is set to **Yes**.
36-
![Registering with Azure Active Director](./media/api-management-troubleshoot-cannot-add-custom-domain/register-with-aad.png)
37-
1. In the Azure portal, open the **Key vaults** service, and select the key vault that you're trying to use for the custom domain.
38-
1. Select **Access policies**, and check whether there is a service principal that matches the name of the API Management service instance. If there is, select the service principal, and make sure that it has the **Get** permission listed under **Secret permissions**.
39-
![Adding access policy for service principal](./media/api-management-troubleshoot-cannot-add-custom-domain/access-policy.png)
40-
1. If the API Management service is not in the list, select **Add access policy**, and then create the following access policy:
37+
1. Sign in to the [Azure portal](https://portal.azure.com), then select your API Management instance. Under **Security** in the sidebar menu, select **Managed identities**. Make sure that the **Status** setting is set to **On**.
38+
39+
:::image type="content" source="media/api-management-troubleshoot-cannot-add-custom-domain/register-with-entra.png" alt-text="Screenshot of managed identity setting to register with Entra ID.":::
40+
41+
1. From the Azure portal, open the **Key vaults** service, and select the key vault that you're trying to use for the custom domain.
42+
43+
1. Select **Access policies**, and check if a service principal matches the name of the API Management service instance. If so, select that service principal, and make sure that it has the **Get** permission listed under **Secret permissions**.
44+
45+
1. If the API Management service isn't in the list, select **Add access policy**, and then create the following access policy:
4146
- **Configure from Template**: None
4247
- **Select principal**: Search the name of the API Management service, and then select it from the list
4348
- **Key permissions**: None
4449
- **Secret permissions**: Get
4550
- **Certificate permissions**: None
51+
4652
1. Select **OK** to create the access policy.
53+
4754
1. Select **Save** to save the changes.
4855

49-
Check whether the issue is resolved. To do this, try to create the custom domain in the API Management service by using the Key Vault certificate.
56+
To check whether the issue is resolved, try to create the custom domain in the API Management service by using the Key Vault certificate.
5057

5158
## Related content
52-
Learn more about API Management service:
53-
54-
- Check out more videos about API Management.
55-
* For other ways to secure your back-end service, see [Mutual Certificate authentication](api-management-howto-mutual-certificates.md).
5659

57-
* [Create an API Management service instance](get-started-create-service-instance.md).
58-
* [Manage your first API](import-and-publish.md).
60+
* [Secure backend services by using client certificate authentication in Azure API Management](api-management-howto-mutual-certificates.md)
61+
* [Quickstart: Create a new Azure API Management instance by using the Azure portal](get-started-create-service-instance.md)
62+
* [Tutorial: Import and publish your first API](import-and-publish.md)
Lines changed: 42 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,57 @@
11
---
2-
title: Deploy a self-hosted gateway to Kubernetes with Helm
3-
description: Learn how to deploy self-hosted gateway component of Azure API Management to Kubernetes with Helm
2+
title: Deploy a Self-Hosted Gateway to Kubernetes with Helm
3+
description: Learn how to deploy self-hosted gateway component of Azure API Management to Kubernetes by using Helm.
44
author: tomkerkhove
55
manager: mrcarlosdev
66
ms.service: azure-api-management
77
ms.topic: how-to
8-
ms.date: 12/21/2021
8+
ms.date: 02/19/2026
99
ms.author: tomkerkhove
1010
---
1111

12-
# Deploy self-hosted gateway to Kubernetes with Helm
12+
# Deploy a self-hosted gateway to Kubernetes by using Helm
1313

1414
[!INCLUDE [api-management-availability-premium-dev](../../includes/api-management-availability-premium-dev.md)]
1515

16-
[Helm][helm] is an open-source packaging tool that helps you install and manage the lifecycle of Kubernetes applications. It allows you to manage Kubernetes charts, which are packages of pre-configured Kubernetes resources.
16+
[Helm][helm] is an open-source packaging tool that helps you install and manage the lifecycle of Kubernetes applications. Helm allows you to manage Kubernetes charts, which are packages of preconfigured Kubernetes resources.
1717

18-
This article provides the steps for deploying self-hosted gateway component of Azure API Management to a Kubernetes cluster by using Helm.
18+
This article explains how to deploy a self-hosted gateway component of Azure API Management to a Kubernetes cluster by using Helm.
1919

2020
> [!NOTE]
21-
> You can also deploy self-hosted gateway to an [Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md) as a [cluster extension](/azure/azure-arc/kubernetes/extensions).
21+
> You can also deploy a self-hosted gateway to an [Azure Arc-enabled Kubernetes cluster](how-to-deploy-self-hosted-gateway-azure-arc.md) as a [cluster extension](/azure/azure-arc/kubernetes/extensions).
2222
2323
## Prerequisites
2424

25-
- Create a Kubernetes cluster, or have access to an existing one.
25+
- Create an Azure Kubernetes cluster, or have access to an existing one.
2626
> [!TIP]
27-
> [Single-node clusters](https://kubernetes.io/docs/setup/#learning-environment) work well for development and evaluation purposes. Use [Kubernetes Certified](https://kubernetes.io/partners/#conformance) multi-node clusters on-premises or in the cloud for production workloads.
28-
* [Create an Azure API Management instance](get-started-create-service-instance.md).
29-
* [Provision a gateway resource in your API Management instance](api-management-howto-provision-self-hosted-gateway.md).
30-
* [Install Helm v3][helm-install].
27+
> [Single-node clusters](https://kubernetes.io/docs/setup/#learning-environment) work well for development and evaluation purposes. Use [Kubernetes Certified](https://kubernetes.io/partners/#iframe-landscape-conformance) multi-node clusters on-premises or in the cloud for production workloads.
28+
* Create an [Azure API Management instance](get-started-create-service-instance.md).
29+
* Provision a [gateway resource in your API Management instance](api-management-howto-provision-self-hosted-gateway.md).
30+
* Install [Helm v3 or later][helm-install].
3131

32-
## Adding the Helm repository
32+
## Add the Helm repository
3333

34-
1. Add Azure API Management as a new Helm repository.
34+
1. Add Azure API Management as a new Helm repository by using the following command.
3535

3636
```console
3737
helm repo add azure-apim-gateway https://azure.github.io/api-management-self-hosted-gateway/helm-charts/
3838
```
3939

40-
2. Update repo to fetch the latest Helm charts.
40+
1. Update the repo to fetch the latest Helm charts.
4141

4242
```console
4343
helm repo update
4444
```
4545

46-
3. Verify your Helm configuration by listing all available charts.
46+
1. Verify your Helm configuration by listing all available charts.
4747

4848
```console
49-
$ helm search repo azure-apim-gateway
49+
helm search repo azure-apim-gateway
50+
```
51+
52+
The following example shows the available charts.
53+
54+
```output
5055
NAME CHART VERSION APP VERSION DESCRIPTION
5156
azure-apim-gateway/azure-api-management-gateway 1.15.0 2.11.0 A Helm chart to deploy an Azure API Management ...
5257
```
@@ -55,12 +60,19 @@ This article provides the steps for deploying self-hosted gateway component of A
5560

5661
[!INCLUDE [api-management-self-hosted-gateway-authentication](../../includes/api-management-self-hosted-gateway-authentication.md)]
5762

58-
1. Select **Gateways** from under **Deployment and infrastructure**.
59-
2. Select the self-hosted gateway resource you intend to deploy.
60-
3. Select **Deployment**.
61-
4. A new token in the **Token** text box was autogenerated for you using the default **Expiry** and **Secret Key** values. Adjust either or both if desired and select **Generate** to create a new token.
62-
5. Take note of your **Token** and **Configuration URL**
63-
6. Install the self-hosted gateway by using the Helm chart
63+
1. In the [Azure portal](https://portal.azure.com), navigate to your API Management instance.
64+
65+
1. Under **Deployment and infrastructure** in the sidebar menu, select **Self-hosted gateways**.
66+
67+
1. Select the self-hosted gateway resource you intend to deploy.
68+
69+
1. Select **Deployment**.
70+
71+
1. A new token in the **Token** text box was autogenerated for you using the default **Expiry** and **Secret Key** values. Adjust either or both if desired, and select **Generate** to create a new token.
72+
73+
1. Take note of your **Token** and **Configuration URL**.
74+
75+
1. Install the self-hosted gateway by using the Helm chart.
6476

6577
```console
6678
helm install azure-api-management-gateway \
@@ -69,23 +81,23 @@ This article provides the steps for deploying self-hosted gateway component of A
6981
azure-apim-gateway/azure-api-management-gateway
7082
```
7183

72-
7. Execute the command. The command instructs your Kubernetes cluster to:
84+
1. Execute the command. The command instructs your Kubernetes cluster to:
7385
* Download the image of the self-hosted gateway from the Microsoft Container Registry and run it as a container.
7486
* Configure the container to expose HTTP (8080) and HTTPS (8081) ports.
7587

7688
> [!IMPORTANT]
77-
> By default, the gateway is using a ClusterIP service and is only exposed inside the cluster.
89+
> By default, the gateway uses a ClusterIP service and is only exposed inside the cluster.
7890
> You can change this by specifying the type of Kubernetes service during installation.
7991
>
8092
> For example, you can expose it through a load balancer by adding `--set service.type=LoadBalancer`
8193
8294

8395
## Related content
8496

85-
* Learn more about the self-hosted gateway, see [Azure API Management self-hosted gateway overview](self-hosted-gateway-overview.md).
86-
* Learn more about guidance for [running the self-hosted gateway on Kubernetes in production](how-to-self-hosted-gateway-on-kubernetes-in-production.md).
87-
* Learn [how to deploy API Management self-hosted gateway to Azure Arc-enabled Kubernetes clusters](how-to-deploy-self-hosted-gateway-azure-arc.md).
88-
* Learn more about the [observability capabilities of the Azure API Management gateways](observability.md).
97+
* [Self-hosted gateway overview](self-hosted-gateway-overview.md)
98+
* [Guidance for running self-hosted gateway on Kubernetes in production](how-to-self-hosted-gateway-on-kubernetes-in-production.md)
99+
* [Deploy an Azure API Management gateway on Azure Arc (preview)](how-to-deploy-self-hosted-gateway-azure-arc.md)
100+
* [Observability in Azure API Management](observability.md)
89101

90-
[helm]: https://helm.sh/
102+
[helm]: https://helm.sh
91103
[helm-install]: https://helm.sh/docs/intro/install/

0 commit comments

Comments
 (0)