У меня есть обратный прокси, фронтенд и бэкэнд контейнер.Бэкэнд работает 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
.