我让graphql服务器在4000端口的主机上运行
机器上的curl运行得很好,我得到了我想要的:
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{ me { _id } }" }' http://localhost:4000/graphq
当我在容器上做卷曲时:
curl http://172.17.0.1
我得到了:
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.16.1</center>
</body>
</html>它向我展示了我可以从容器访问ngnix,并且它为我指明了我可以从容器访问我的机器。
但是当我卷曲表单容器时:
curl -X POST -H "Content-Type: application/json" --data '{ "query": "{ me { _id } }" }' http://172.17.0.1:4000/graphql
我得到了:
curl: (7) Failed to connect to 172.17.0.1 port 4000: No route to host
发布于 2020-08-30 16:43:37
我认为你必须将Nginx配置为公共访问,因为docker使用一个特殊的网络,因为它确实有不同的网络范围,你必须在Nginx服务器中指定网络范围。
请参阅以下链接:https://docs.nginx.com/nginx/admin-guide/security-controls/controlling-access-proxied-tcp/
https://www.cyberciti.biz/faq/linux-unix-nginx-access-control-howto/
https://stackoverflow.com/questions/63655337
复制相似问题