Как использовать локальный DNS в Pyppeteer - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть обратный прокси, фронтенд и бэкэнд контейнер.Бэкэнд работает Pyppeteer , а обратный прокси-сервер настроен с псевдонимом "servicename.localhost" в docker-compose.yml:

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.

1 Ответ

0 голосов
/ 25 сентября 2018

Я решил эту проблему, изменив TLD с «localhost» на «test».

...