docker-compose中服务之间的Https通信

时间:2021-03-31 11:12:42

标签: docker asp.net-core https docker-compose ssl-certificate

我在 docker-compose 中指定了两个依赖于 api 的服务 - apiweb。两者都是aspnet核心Web应用程序

version: '3.4'

services:
  api:
    image: mywebapi
    build:
      context: .
      dockerfile: MyWebApi/Dockerfile
  ports:
    - "44380:443"

  web:
    image: mywebapp
    build:
      context: .
      dockerfile: MyWebApp/Dockerfile
    environment:
     - ApiClient__Uri=https://api
    ports:
      - "80:80"
      - "443:443"
    depends_on:
      - api

如果我从主机挂载证书,我可以使用自签名开发证书从本地主机访问任何这些服务

    volumes:
     - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https

但我想通过 apiweb 访问 https://api/foo,而不将任何 api 端口映射到主机。

我如何为 api 颁发由 web 信任的某个 CA 的证书?或者也许有另一种安全的方式在两个服务之间进行 https 通信?

0 个答案:

没有答案