Дмитрий, подобное уже предлагали выше
Но тут всё зависит от ожидаемого функционала (может не сейчас, а в дальнейшем)
Я бы предложил в конфиг Websokcet nginx добавить
server_name websocket-nginx.domain.ru
А в Nginx gateway
proxy_pass websocket-nginx;
изменить на
proxy_pass websocket-nginx.domain.ru
Т.к. имя websocket-nginx скорее всего вызовет ошибку резолвинга, ибо не соответствует правилам доменных имён
Проверить, что в hosts докера и/или "машины носителя" контейнеров есть запись websocket-nginx.domain.ru с адресом нужного контейнера (можно и на localhost машины с контейнерами, но тогда надо порты разнести в конфигах nginx и compose)
И простым пингом посмотреть на какие ip будет резолвить бекэнд имена websocket-nginx.domain.ru и domain.ru
если по какой-то причине не срабатывают самбовские настройки (можно конечно глянуть на конфиг, но не факт что дело в нём) - то может заскриптовать проверку и в крон?
при обращении по url резолвинг идет не сразу на DNS сервер, а сначала смотрит локальные записи об именах хостов
и если бекэнд domain.ru (и знает об этом) обращается по url "domain.ru", то 99,9% что он будет стучаться сам к себе
Скрипт да, не сразу увидел, но комментарий сразу поправил. Но по скрипту без его запуска и повторения шагов, совершенно не понятно, что может быть за ошибка. Тем более запускать чужой скрипт у себя? Не самая здрава идея + ошибка может зависит от вашего окружения, особенностей сети, точного порядка действий, ролей в системе и много чего ещё.
В функции есть закомментированные команды для отладки (что как бы сразу намекает, что у автора тоже были с ней какие-то сложности) - попробуйте их раскоментить и выполнить запуск. Предполагаю, пока именно предполагаю, что нужно менять формат ссылки, который используется в функции. Но без отладочной информации это вилами по воде.
Зарубежных провайдеров не подскажу, но есть провайдеры РФ, которые могут предоставить такую услугу: ростелеком, русцентросвязь (РЦС), билайн. Правда, они подобные услуги очень редко продают физическому лицу.
Но тут всё зависит от ожидаемого функционала (может не сейчас, а в дальнейшем)
Я бы предложил в конфиг Websokcet nginx добавить
server_name websocket-nginx.domain.ru
А в Nginx gateway
proxy_pass websocket-nginx;
изменить на
proxy_pass websocket-nginx.domain.ru
Т.к. имя websocket-nginx скорее всего вызовет ошибку резолвинга, ибо не соответствует правилам доменных имён
Проверить, что в hosts докера и/или "машины носителя" контейнеров есть запись websocket-nginx.domain.ru с адресом нужного контейнера (можно и на localhost машины с контейнерами, но тогда надо порты разнести в конфигах nginx и compose)
И простым пингом посмотреть на какие ip будет резолвить бекэнд имена websocket-nginx.domain.ru и domain.ru