首页 > 解决方案 > 如何在 Pyppeteer 中使用本地 DNS

问题描述

我有一个反向代理、前端和后端容器。后端运行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有关,但似乎没有命令行标志来禁用它们中的任何一个。

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

标签: dockerdnsdocker-composechromiumpyppeteer

解决方案


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


推荐阅读