標準以外のポートでテスト アプリを使用して Traefik をセットアップしようとしています。IIS は現在、マシンでポート 80 を使用しているため、テスト アプリにはポート 9000 を使用しています。Bad Gateway が返ってきます。テスト アプリケーションは、ウェルカム ページを含む空の .net コア アプリケーションです。
Bad Gateway の応答から、Traefik が要求を正しくルーティングしていないか、コンテナーが要求を取得していないことがわかります。多数の traefik ラベルを試しましたが、リクエストを正しく取得できません。docker.localhost:8080 で Traefik ダッシュボードにアクセスできますが、webapp3.localhost:9000 でアプリにアクセスすると、「Bad Request」が表示されます。
docker-compose.yml
version: '3.4'
services:
webapp3:
container_name: webapp3
image: ${DOCKER_REGISTRY-}webapp3
build:
context: .
dockerfile: WebApp3/Dockerfile
networks:
- web
labels:
- "traefik.backend=webapp3"
- "traefik.enable=true"
- "traefik.docker.network=web"
- "traefik.frontend.rule=Host:webapp3.localhost"
- "traefik.port=80"
traefik:
container_name: traefik
image: traefik
command: --api --docker --logLevel=DEBUG
restart: always
ports:
- "443:443"
- "9000:80"
- "8080:8080"
volumes:
- ./docker/traefik:/etc/traefik/
- /var/run/docker.sock:/var/run/docker.sock:ro
- /dev/null:/traefik.toml
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.backend=traefik"
- "traefik.frontend.rule=Host:docker.localhost"
- "traefik.port=8080"
- "traefik.docker.network=web"
networks:
web:
external : true
docker-compose.override.yml
version: '3.4'
services:
webapp3:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80;http://+:9000
volumes:
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro