Как использовать локальный DNS в Pyppeteer

У меня есть обратный прокси-сервер, интерфейс и бэкэнд-контейнер. Серверная часть работает под управлением 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.launchargs параметр списка.
  • Добавление "--host-resolver-rules=[same as above] к pyppeteer.launchargs параметр списка.

1 ответ

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

Другие вопросы по тегам