0

我有一个反向代理、前端和后端容器。后端运行Pyppeteer,反向代理在 docker-compose.yml 中设置了别名“servicename.localhost”:

networks:
  default:
    aliases:
      - servicename.localhost

这样我就可以curl --insecure https://servicename.localhost从后端容器中获取,但不幸的是,同一容器上的 Chromium 似乎忽略了该设置,因此“servicename.localhost”解析为 127.0.0.1:

pyppeteer.errors.PageError: net::ERR_CONNECTION_REFUSED 在https://servicename.localhost/login

我该如何解决这个问题?

看起来它可能与DNS 预取异步 DNS有关,但似乎没有命令行标志来禁用它们中的任何一个。

我尝试过的事情并没有改变任何事情:

  • 添加"--host-rules='MAP servicename.localhost {}'".format(socket.gethostbyaddr('servicename.localhost')[-1][0])pyppeteer.launch args列表参数。
  • 添加"--host-resolver-rules=[same as above]pyppeteer.launch args列表参数。
4

1 回答 1

0

我通过将 TLD 从“localhost”更改为“test”来解决这个问题。

于 2018-09-25T02:20:19.350 回答