知道请求是否来自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/'