知道请求是否来自docker compose创建的同一网络中的容器

知道请求是否来自docker compose创建的同一网络中的容器,docker,docker-compose,Docker,Docker Compose,如果我想向同一网络中的容器发出请求,我可以通过http请求,如 http://service-name:port/ 但我如何知道此http请求是否来自docker compose创建的同一网络中的容器? docker compose.yml 您必须使用https协议和客户端证书来处理您的问题如果Docker没有参与,您如何知道这一点?为什么你需要知道?@DavidMaze如果我可以向同一网络中的容器发出请求。我应该知道它是否来自同一个网络,而不是有人从外部点击http。我可以这样做来执行一些特定

如果我想向同一网络中的容器发出请求,我可以通过
http
请求,如

http://service-name:port/

但我如何知道此http请求是否来自docker compose创建的同一网络中的容器?

docker compose.yml


您必须使用
https
协议和客户端证书来处理您的问题

如果Docker没有参与,您如何知道这一点?为什么你需要知道?@DavidMaze如果我可以向同一网络中的容器发出请求。我应该知道它是否来自同一个网络,而不是有人从外部点击http。我可以这样做来执行一些特定的任务。比如,如果不是内部容器调用,就这样做,否则就这样做。更具体的是,如果不是来自同一网络中的容器,则会阻止特定的http请求。您能解释一下它与我的问题的关系吗?当然,您可能已经知道服务器端证书。他们过去常常通过像Thawte或DigiCert这样的证书颁发机构来证明你的身份。客户端证书的工作方式相同,但它们可以证明客户端的身份。因此,您只需创建自己的证书颁发机构,为访问您的服务器的每个客户端创建一个证书,然后您就可以识别请求来自哪个客户端。
version: '3'
services:
  users:
    build: './users'
    ports:
      - '4001:3000'
    volumes:
      - './users:/src/'
  products:
    build: './products'
    ports:
      - '4002:3000'
    volumes:
      - './products:/src/'
  orders:
    build: './orders'
    ports:
      - '4003:3000'
    volumes:
      - './orders:/src/'
  payments:
    build: './payments'
    ports: 
      - '4004:3000'
    volumes: 
      - './payments:/src/'