HTTPS-соединение между контейнерами Windows вызывает «Удаленный сертификат недействителен в соответствии с процедурой проверки» - PullRequest
0 голосов
/ 05 апреля 2019

Используя Docker CE 17.09, docker-compose 1.23.2

Я настраиваю сервис docker-compose с несколькими контейнерами windows (linux невозможен).

  • Один простой MS Sql-сервер
  • Один наносервер с Web-API (HTTPS) с официальным сертификатом подстановочного знака (* .mycert.com)
  • ОдинWindowsServerCore с клиентом (mytester), пытающимся получить доступ к API через соединение https

Когда тестер пытается получить доступ к API через https, он получает ошибку: «Удаленный сертификат недействителен в соответствии с проверкойпроцедура "Мне кажется, что хост не подходит для хоста сертификата.

У нас есть локальная установка, где api.mycert.com пересылается на localhost через файл Hosts (C: \ Windows \System32 \ drivers \ etc \ hosts), которая работает как шарм.

Здесь docker-compose.yml:

version: '3.4'
services: 
  mytester: 
    build:
      context: ../../src/MyTester/MyTester
    container_name: mytester
    depends_on: 
    - db
    - api
    networks:
    - myBackend
  api:
    build: 
      context: ./API/
    container_name: api
    depends_on:
    - db
    networks:
    - myBackend
    expose:
    - "30443"
    - "31443"
  db:
    image: microsoft/mssql-server-windows-developer
    environment:
      SA_PASSWORD: "superpassword"
      ACCEPT_EULA: "Y"
    container_name: db
    networks:
    - myBackend
networks:
  myBackend:
    external:
      name: nat

Я пробовал разрешение имен несколькими различными способами, где тестер мог:

  1. Назначение псевдонима сети

    api:
      networks:
        myBackend:
          aliases:
          - api.mycert.com
    

вывод tracert:

    <1 ms    <1 ms    <1 ms  api.mycert.nat
Переименование контейнера в api.mycert.com

Вывод tracert:

    <1 ms    <1 ms    <1 ms  containerid

Присоединение к файлу хостов (C: \ Windows \ System32 \ drivers \ etc \ hosts)

api api.mycert.com

Вывод tracert:

<1 ms    <1 ms    <1 ms  containerid

Все решения заканчиваются одной и той же ошибкой, что проверка сертификата не удалась.

Есть ли что-то, чего мне не хватает, что может помочь мне установить правильное соединение https?

...