Zelfstudie: Een app met meerdere containers (preview) maken in Web App for Containers

Notitie

Sidecar-containers (preview) slagen in apps met meerdere containers in App Service. Zie Zelfstudie: Een sidecarcontainer configureren voor aangepaste container in Azure-app Service (preview) om aan de slag te gaan.

Met behulp van Web App for Containers kunt u op een flexibele manier Docker-installatiekopieën gebruiken. In deze zelfstudie leert u hoe u een app met meerdere containers maakt met behulp van WordPress en MySQL. U maakt deze zelfstudie in Cloud Shell af, maar u kunt deze opdrachten ook lokaal uitvoeren met het opdrachtregelhulpprogramma Azure CLI (2.0.32 of later).

In deze zelfstudie leert u het volgende:

  • Een Docker Compose-configuratie converteren die kan worden gebruikt voor Web App for Containers
  • Een app met meerdere containers implementeren in Azure
  • Toepassingsinstellingen toevoegen
  • Permanente opslag voor uw containers gebruiken
  • Verbinding maken met Azure Database for MySQL
  • Problemen oplossen

Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.

Vereisten

Voor deze zelfstudie moet u ervaring met Docker Compose hebben.

Het voorbeeld downloaden

Voor deze zelfstudie gebruikt u het samenstellingsbestand van Docker, maar u bewerkt dit zo dat hierin Azure Database for MySQL, permanente opslag en Redis worden opgenomen. U vindt het configuratiebestand in Azure-voorbeelden. In het onderstaande voorbeeld ziet u dat dit depends_on een niet-ondersteunde optie is en wordt genegeerd. Raadpleeg Docker Compose voor ondersteunde configuratieopties.

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
volumes:
    db_data:

Maak een map voor de zelfstudie in de Cloud Shell en ga er vervolgens naartoe.

mkdir tutorial

cd tutorial

Voer vervolgens de volgende opdracht uit om de voorbeeld-app-opslagplaats te klonen naar de map voor de zelfstudie. Ga vervolgens maar de map multicontainerwordpress.

git clone https://github.com/Azure-Samples/multicontainerwordpress

cd multicontainerwordpress

Een brongroep maken

Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.

Maak een resourcegroep in Cloud Shell met de opdracht az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie VS - zuid-centraal. Als u alle ondersteunde locaties voor App Service op Linux in prijscategorie Standard wilt zien, voert u de opdracht az appservice list-locations --sku S1 --linux-workers-enabled uit.

az group create --name myResourceGroup --location "South Central US"

In het algemeen maakt u een resourcegroep en resources in een regio bij u in de buurt.

Wanneer de opdracht is voltooid, laat een JSON-uitvoer u de eigenschappen van de resource-groep zien.

Een Azure App Service-plan maken

Maak in Cloud Shell een App Service-plan in de resourcegroep met de opdracht az appservice plan create.

In het volgende voorbeeld wordt een App Service-plan gemaakt met de naam myAppServicePlan in de prijscategorie Standard (--sku S1) en in een Linux-container (--is-linux).

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku S1 --is-linux

Wanneer het App Service-plan is gemaakt, toont Cloud Shell soortgelijke informatie als in het volgende voorbeeld:

{
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "South Central US",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "South Central US",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
}

Docker Compose met WordPress- en MySQL-containers

Een Docker Compose-app maken

Maak in Cloud Shell een web-app met meerdere containers in het myAppServicePlan App Service-plan met de opdracht az webapp create. Vergeet niet om de app-naam> te vervangen door <een unieke app-naam.

az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml

Wanneer de web-app is gemaakt, toont Cloud Shell soortgelijke uitvoer als in het volgende voorbeeld:

{
  "additionalProperties": {},
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app-name>.azurewebsites.net",
  "enabled": true,
  < JSON data removed for brevity. >
}

Bladeren naar de app

Blader naar de geïmplementeerde app in (http://<app-name>.azurewebsites.net). Het laden van de app kan een paar minuten duren. Als u een foutbericht ontvangt, wacht u een paar minuten en vernieuwt u de browser. Lees containerlogboeken als u problemen ondervindt en deze wilt oplossen.

Voorbeeld-app met meerdere containers in Web App for Containers

Gefeliciteerd, u hebt een app met meerdere containers gemaakt in Web App for Containers. Vervolgens configureert u uw app voor gebruik met Azure Database for MySQL. Installeer WordPress nu nog niet.

Verbinding maken met de productiedatabase

Het wordt niet aanbevolen databasecontainers te gebruiken in een productieomgeving. De lokale containers zijn niet schaalbaar. In plaats hiervan gebruikt u Azure Database for MySQL, dat kan worden geschaald.

Een Azure-database voor MySQL-server maken

Maak een Azure Database for MySQL-server met de opdracht az mysql server create.

Vervang in de volgende opdracht de naam van de MySQL-server waar u de tijdelijke aanduiding mysql-server-name> ziet (geldige tekens zijn a-z, 0-9en -).< Deze naam maakt deel uit van de hostnaam van de MySQL-server (<mysql-server-name>.database.windows.net), hij moet globaal uniek zijn.

az mysql server create --resource-group myResourceGroup --name <mysql-server-name>  --location "South Central US" --admin-user adminuser --admin-password My5up3rStr0ngPaSw0rd! --sku-name B_Gen5_1 --version 5.7

Het kan enkele minuten duren voordat de server is gemaakt. Wanneer de MySQL-server is gemaakt, toont Cloud Shell informatie die lijkt op de informatie in het volgende voorbeeld:

{
  "administratorLogin": "adminuser",
  "administratorLoginPassword": null,
  "fullyQualifiedDomainName": "<mysql-server-name>.database.windows.net",
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>",
  "location": "southcentralus",
  "name": "<mysql-server-name>",
  "resourceGroup": "myResourceGroup",
  ...
}

Een serverfirewall configureren

Maak een firewallregel voor uw MySQL-server om clientverbindingen toe te staan met behulp van de opdracht az mysql server firewall-rule create. Als zowel het IP-beginadres als het IP-eindadres zijn ingesteld op 0.0.0.0, wordt de firewall alleen geopend voor andere Azure-resources.

az mysql server firewall-rule create --name allAzureIPs --server <mysql-server-name> --resource-group myResourceGroup --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

Tip

U kunt uw firewallregel nog beperkender maken door alleen de uitgaande IP-adressen te gebruiken die in uw app worden gebruikt.

De WordPress-database maken

az mysql db create --resource-group myResourceGroup --server-name <mysql-server-name> --name wordpress

Wanneer de database is gemaakt, wordt in Cloud Shell informatie weergegeven die vergelijkbaar is met de informatie in het volgende voorbeeld:

{
  "additionalProperties": {},
  "charset": "latin1",
  "collation": "latin1_swedish_ci",
  "id": "/subscriptions/12db1644-4b12-4cab-ba54-8ba2f2822c1f/resourceGroups/myResourceGroup/providers/Microsoft.DBforMySQL/servers/<mysql-server-name>/databases/wordpress",
  "name": "wordpress",
  "resourceGroup": "myResourceGroup",
  "type": "Microsoft.DBforMySQL/servers/databases"
}

Databasevariabelen in WordPress configureren

Als u de WordPress-app wilt verbinden met deze nieuwe MySQL-server, configureert u een aantal specifieke WordPress-omgevingsvariabelen, inclusief het SSL CA-pad dat is gedefinieerd door MYSQL_SSL_CA. Hieronder vindt u Baltimore CyberTrust Root van DigiCert in de aangepaste installatiekopie.

Als u deze wijzigingen wilt aanbrengen, gebruikt u de opdracht az webapp config appsettings set in Cloud Shell. App-instellingen zijn hoofdlettergevoelig en door spaties gescheiden.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WORDPRESS_DB_HOST="<mysql-server-name>.mysql.database.azure.com" WORDPRESS_DB_USER="adminuser" WORDPRESS_DB_PASSWORD="My5up3rStr0ngPaSw0rd!" WORDPRESS_DB_NAME="wordpress" MYSQL_SSL_CA="BaltimoreCyberTrustroot.crt.pem"

Wanneer de app-instelling is gemaakt, toont Cloud Shell soortgelijke informatie als in het volgende voorbeeld:

[
  {
    "name": "WORDPRESS_DB_HOST",
    "slotSetting": false,
    "value": "<mysql-server-name>.mysql.database.azure.com"
  },
  {
    "name": "WORDPRESS_DB_USER",
    "slotSetting": false,
    "value": "adminuser"
  },
  {
    "name": "WORDPRESS_DB_NAME",
    "slotSetting": false,
    "value": "wordpress"
  },
  {
    "name": "WORDPRESS_DB_PASSWORD",
    "slotSetting": false,
    "value": "My5up3rStr0ngPaSw0rd!"
  },
  {
    "name": "MYSQL_SSL_CA",
    "slotSetting": false,
    "value": "BaltimoreCyberTrustroot.crt.pem"
  }
]

Raadpleeg Omgevingsvariabelen configureren voor meer informatie over omgevingsvariabelen.

Een aangepaste installatiekopieën gebruiken voor MySQL TLS/SSL en andere configuraties

TLS/SSL wordt standaard gebruikt door Azure Database for MySQL. Voor WordPress is aanvullende configuratie vereist voor het gebruik van TLS/SSL met MySQL. De aanvullende configuratie is niet beschikbaar in de 'officiële installatiekopie' van WordPress, maar voor uw gemak is er een aangepaste installatiekopie gemaakt. In de praktijk voegt u de gewenste wijzigingen toe aan uw eigen installatiekopie.

De aangepaste installatiekopie is gebaseerd op de 'officiële installatiekopie' van WordPress van Docker-Hub. De volgende wijzigingen zijn aangebracht in deze aangepaste installatiekopie voor de Azure Database for MySQL:

De volgende wijzigingen zijn aangebracht voor Redis (die worden gebruikt in een latere sectie):

Als u de aangepaste installatiekopie wilt gebruiken, werkt u het bestand docker-compose-wordpress.yml bij. Open in Cloud Shell een teksteditor en wijzig het image: wordpress te gebruiken image: mcr.microsoft.com/azuredocs/multicontainerwordpress. U hebt de databasecontainer niet meer nodig. Verwijder de sectie db, environment, depends_on, en volumes uit het configuratiebestand. Uw -bestand moet eruitzien als de volgende code:

version: '3.3'

services:
   wordpress:
     image: mcr.microsoft.com/azuredocs/multicontainerwordpress
     ports:
       - "8000:80"
     restart: always

De app bijwerken met de nieuwe configuratie

Configureer in Cloud Shell uw web-app met meerdere containers opnieuw met de opdracht az webapp config container set. Vergeet niet om de app-naam> te vervangen door <de naam van de web-app die u eerder hebt gemaakt.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml

Wanneer de app opnieuw is geconfigureerd, wordt in Cloud Shell informatie weergegeven die vergelijkbaar is met de informatie in het volgende voorbeeld:

[
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICB3b3JkcHJlc3M6CiAgICAgaW1hZ2U6IG1zYW5nYXB1L3dvcmRwcmVzcwogICAgIHBvcnRzOgogICAgICAgLSAiODAwMDo4MCIKICAgICByZXN0YXJ0OiBhbHdheXM="
  }
]

Bladeren naar de app

Blader naar de geïmplementeerde app in (http://<app-name>.azurewebsites.net). Azure Database for MySQL wordt nu gebruikt voor de app.

Voorbeeld van app met meerdere containers in Web App for Containers

Permanente opslag toevoegen

Uw app met meerdere containers wordt nu uitgevoerd in Web App for Containers. Als u WordPress echter nu installeert uw app later opnieuw start, ziet u dat uw WordPress-installatie is verdwenen. Dit gebeurt omdat de configuratie van Docker Compose momenteel naar een opslaglocatie in de container verwijst. De bestanden die zijn geïnstalleerd in de container, blijven niet behouden nadat de app opnieuw is gestart. In deze sectie voegt u permanente opslag toe aan uw WordPress-container.

Omgevingsvariabelen configureren

Schakel deze instelling in App Service in als u permanente opslag wilt gebruiken. Als u deze wijziging wilt aanbrengen, gebruikt u de opdracht az webapp config appsettings set in Cloud Shell. App-instellingen zijn hoofdlettergevoelig en door spaties gescheiden.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WEBSITES_ENABLE_APP_SERVICE_STORAGE=TRUE

Wanneer de app-instelling is gemaakt, toont Cloud Shell soortgelijke informatie als in het volgende voorbeeld:

[
  < JSON data removed for brevity. >
  {
    "name": "WORDPRESS_DB_NAME",
    "slotSetting": false,
    "value": "wordpress"
  },
  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "TRUE"
  }
]

Configuratiebestand wijzigen

Open het bestand docker-compose-wordpress.yml in de Cloud Shell in een teksteditor.

Met de optie volumes wordt het bestandssysteem toegewezen aan een map in de container. ${WEBAPP_STORAGE_HOME} is een omgevingsvariabele in App Service die is toegewezen aan de permanente opslag voor uw app. U gebruikt deze omgevingsvariabele in de volumeoptie zodat de WordPress-bestanden worden geïnstalleerd in de permanente opslag in plaats van de container. Breng de volgende wijzigingen aan in het bestand:

Voeg in de sectie wordpress de optie volumes toe, zoals in de volgende code:

version: '3.3'

services:
   wordpress:
     image: mcr.microsoft.com/azuredocs/multicontainerwordpress
     volumes:
      - ${WEBAPP_STORAGE_HOME}/site/wwwroot:/var/www/html
     ports:
       - "8000:80"
     restart: always

De app bijwerken met de nieuwe configuratie

Configureer in Cloud Shell uw web-app met meerdere containers opnieuw met de opdracht az webapp config container set. Vergeet niet om de app-naam> te vervangen door <een unieke app-naam.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file docker-compose-wordpress.yml

Nadat uw opdracht wordt uitgevoerd, wordt er uitvoer weergegeven die vergelijkbaar is met de uitvoer in het volgende voorbeeld:

[
  {
    "name": "WEBSITES_ENABLE_APP_SERVICE_STORAGE",
    "slotSetting": false,
    "value": "TRUE"
  },
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo="
  }
]

Bladeren naar de app

Blader naar de geïmplementeerde app in (http://<app-name>.azurewebsites.net).

De WordPress-container maakt nu gebruik van Azure Database for MySQL en permanente opslag.

De Redis-container toevoegen

De 'officiële installatiekopie' van WordPress bevat niet de afhankelijkheden voor Redis. Deze afhankelijkheden en de aanvullende configuratie die nodig is voor het gebruik van Redis met WordPress, zijn voor u gemaakt in deze aangepaste installatiekopie. In de praktijk voegt u de gewenste wijzigingen toe aan uw eigen installatiekopie.

De aangepaste installatiekopie is gebaseerd op de 'officiële installatiekopie' van WordPress van Docker-Hub. De volgende wijzigingen zijn aangebracht in deze aangepaste installatiekopie voor Redis:

Voeg de Redis-container toe onderaan het configuratiebestand, zoals in het volgende voorbeeld:

version: '3.3'

services:
   wordpress:
     image: mcr.microsoft.com/azuredocs/multicontainerwordpress
     ports:
       - "8000:80"
     restart: always

   redis:
     image: mcr.microsoft.com/oss/bitnami/redis:6.0.8
     environment:
      - ALLOW_EMPTY_PASSWORD=yes
     restart: always

Omgevingsvariabelen configureren

Schakel deze instelling, WP_REDIS_HOST, in App Service in als u Redis wilt gebruiken. Dit is een vereiste instelling voor WordPress om te communiceren met de Redis-host. Als u deze wijziging wilt aanbrengen, gebruikt u de opdracht az webapp config appsettings set in Cloud Shell. App-instellingen zijn hoofdlettergevoelig en door spaties gescheiden.

az webapp config appsettings set --resource-group myResourceGroup --name <app-name> --settings WP_REDIS_HOST="redis"

Wanneer de app-instelling is gemaakt, toont Cloud Shell soortgelijke informatie als in het volgende voorbeeld:

[
  < JSON data removed for brevity. >
  {
    "name": "WORDPRESS_DB_USER",
    "slotSetting": false,
    "value": "adminuser"
  },
  {
    "name": "WP_REDIS_HOST",
    "slotSetting": false,
    "value": "redis"
  }
]

De app bijwerken met de nieuwe configuratie

Configureer in Cloud Shell uw web-app met meerdere containers opnieuw met de opdracht az webapp config container set. Vergeet niet om de app-naam> te vervangen door <een unieke app-naam.

az webapp config container set --resource-group myResourceGroup --name <app-name> --multicontainer-config-type compose --multicontainer-config-file compose-wordpress.yml

Nadat uw opdracht wordt uitgevoerd, wordt er uitvoer weergegeven die vergelijkbaar is met de uitvoer in het volgende voorbeeld:

[
  {
    "name": "DOCKER_CUSTOM_IMAGE_NAME",
    "value": "COMPOSE|dmVyc2lvbjogJzMuMycKCnNlcnZpY2VzOgogICBteXNxbDoKICAgICBpbWFnZTogbXlzcWw6NS43CiAgICAgdm9sdW1lczoKICAgICAgIC0gZGJfZGF0YTovdmFyL2xpYi9teXNxbAogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgTVlTUUxfUk9PVF9QQVNTV09SRDogZXhhbXBsZXBhc3MKCiAgIHdvcmRwcmVzczoKICAgICBkZXBlbmRzX29uOgogICAgICAgLSBteXNxbAogICAgIGltYWdlOiB3b3JkcHJlc3M6bGF0ZXN0CiAgICAgcG9ydHM6CiAgICAgICAtICI4MDAwOjgwIgogICAgIHJlc3RhcnQ6IGFsd2F5cwogICAgIGVudmlyb25tZW50OgogICAgICAgV09SRFBSRVNTX0RCX1BBU1NXT1JEOiBleGFtcGxlcGFzcwp2b2x1bWVzOgogICAgZGJfZGF0YTo="
  }
]

Bladeren naar de app

Blader naar de geïmplementeerde app in (http://<app-name>.azurewebsites.net).

Voer de stappen uit en installeer WordPress.

WordPress verbinden met Redis

Meld u aan bij de WordPress-beheerder. Selecteer Invoegtoepassingen in het linkernavigatievenster en selecteer vervolgens Geïnstalleerde invoegtoepassingen.

WordPress-invoegtoepassingen selecteren

Alle invoegtoepassingen hier weergeven

Zoek op de pagina met invoegtoepassingen naar Redis-objectcache en klik op Activeren.

Redis activeren

Klik op Instellingen.

Klik op Instellingen

Klik op de knop Objectcache inschakelen.

Klik op de knop Objectcache inschakelen

WordPress wordt verbonden met de Redis-server. De status van de verbinding wordt weergegeven op dezelfde pagina.

WordPress maakt verbinding met de Redis-server. De verbindingsstatus wordt op dezelfde pagina weergegeven.

Gefeliciteerd, u hebt WordPress verbonden met Redis. De app die klaar is voor productie, maakt nu gebruik van Azure Database for MySQL, permanente opslag en Redis. U kunt uw App Service-plan nu uitbreiden naar meerdere exemplaren.

Logboeken voor Docker-containers zoeken

Als u problemen hebt met het gebruik van meerdere containers, kunt u de logboeken van de containers openen door te bladeren naar: https://<app-name>.scm.azurewebsites.net/api/logs/docker.

De uitvoer is vergelijkbaar met de uitvoer in het volgende voorbeeld:

[
   {
      "machineName":"RD00XYZYZE567A",
      "lastUpdated":"2018-05-10T04:11:45Z",
      "size":25125,
      "href":"https://<app-name>.scm.azurewebsites.net/api/vfs/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log",
      "path":"/home/LogFiles/2018_05_10_RD00XYZYZE567A_docker.log"
   }
]

U ziet een logboek voor elke container en een extra logboek voor het bovenliggende proces. Kopieer de desbetreffende waarde href in de browser om het logboek weer te geven.

Opschonen van implementatie

Na het uitvoeren van het voorbeeldscript kan de volgende opdracht worden gebruikt om de resourcegroep en alle resources die er aan zijn gekoppeld te verwijderen.

az group delete --name myResourceGroup

Volgende stappen

In deze zelfstudie heeft u het volgende geleerd:

  • Een Docker Compose-configuratie converteren die kan worden gebruikt voor Web App for Containers
  • Een app met meerdere containers implementeren in Azure
  • Toepassingsinstellingen toevoegen
  • Permanente opslag voor uw containers gebruiken
  • Verbinding maken met Azure Database for MySQL
  • Problemen oplossen

Ga naar de volgende zelfstudie voor meer informatie over het beveiligen van uw app met een aangepast domein en certificaat.

U kunt ook andere resources bekijken: