cURL错误7:无法连接到test.localhost端口80

问题描述 投票:0回答:2

我使用laradock。

我创建了多个项目。一个项目就是一个微服务。

我需要使用 guzzle http 将数据从一个微服务获取到另一个微服务。

在 laradock/nginx/sites 中我配置了所有虚拟主机。

每个项目(微服务)都可以单独正常工作。

但是当我尝试从一个容器获取另一个容器的数据时:

$url = "test.localhost/users";

        $client = new \GuzzleHttp\Client();
        $request = $client->get($url);
        $response = $request->getBody();

        return json_decode($response->getContents(), true);

我收到错误:

GuzzleHttp \ 异常 \ ConnectException cURL 错误 7:无法连接到 test.localhost 端口 80:连接超时(请参阅 https://curl.haxx.se/libcurl/c/libcurl-errors.html

我认为这是 docker 的问题。

我尝试过:

networks:
 frontend:
  aliases:
   - test.localhost
   - test2.localhost
 backend:
  aliases:
   - test.localhost
   - test2.localhost

但这并没有帮助。

docker curl laradock
2个回答
0
投票

如果您使用

laradock
,请在主机上查看您的网站,然后将其列出在
laradock/docker-compose.yml
上,而不是在
nginx:
部分,而是在
workspace:
中。之后,请通过键入
docker
重新启动
docker-compose down
,然后再次键入
up
。当您尝试创建
authentication
时,这是一个常见问题,我希望这会有所帮助。

  networks:
    frontend:
      aliases:
        - mysite.test
        - mysite2.test
        - mysite3.test
    backend:
      aliases:
        - mysite.test
        - mysite2.test
        - mysite3.test

0
投票

我遇到了同样的问题。显然它似乎基于 RFC 2606。更多信息在此answer

当我尝试使用

.localhost
ping 域时,它成功了。

© www.soinside.com 2019 - 2024. All rights reserved.