针对多容器应用程序(docker-compose)在应用程序服务上使用Azure Active Directory进行身份验证

时间:2019-04-25 11:17:57

标签: azure authentication docker-compose azure-active-directory azure-web-app-service

我正在尝试使用Azure Active Directory为应用程序服务启用内置身份验证。

当我使用单个容器配置时,它工作正常,但是当我尝试配置docker-compose时,到Microsoft登录页面的重定向就位。

我正在使用nginx(反向代理图像)来服务静态网站(两个图像)和一个api图像(服务器图像)。

启用了应用程序服务内置身份验证,并配置了Active Directory,并且未对请求进行身份验证时采取的操作设置为“使用Azure Active Directory登录”。 screenshot of auth setup

docker-compose.yml

version: '3'

services:
  api:
    image: plugotestcontainerregistry.azurecr.io/server:latest
    environment:
      PORT: 4000
    expose:
      - "4000"
    restart: always
  reverse-proxy:
    image: plugotestcontainerregistry.azurecr.io/reverse-proxy:latest
    ports: 
      - "8080:8080"
    restart: always

nginx配置

server {
  listen 80;
  root   /usr/share/nginx/root;
  location / {
    index  index.html index.htm;
    try_files $uri $uri/ /index.html;
  }
  location /api {
    proxy_pass  "http://api:4000";
    proxy_set_header  Host $http_host;
    proxy_set_header  X-Forwarded-For $remote_addr;
  }
  location /admin {
    alias   /usr/share/nginx/admin/;
    index  index.html index.htm;
    try_files $uri $uri/ /admin/index.html;
  }
  error_page   500 502 503 504  /50x.html;
  location = /50x.html {
    root   /usr/share/nginx/html;
  }
}

使用AAD和docker在Web App中对容器进行工作身份验证。

0 个答案:

没有答案