Мы используем Discourse на discourse.lubuntu.me. Система настроена так, что этот адрес является её базовым URL.
Однако внутри системы возникают ошибки 500 при обращении к внутренним ссылкам certificate.svg и встроенному боту discobot для приветствия пользователей.
SocketError (Не удалось установить TCP-соединение с discourse.lubuntu.me:443 (getaddrinfo: Имя или служба неизвестны))
/usr/local/lib/ruby/2.6.0/net/http.rb:949:in `rescue in block in connect'
Это похоже на то, что внутри контейнера, в котором работает Discourse, не удаётся выполнить DNS-запрос. Есть ли способ исправить эту проблему или лучше отладить её?
То есть, это прямая установка Docker на Ubuntu в качестве хост-системы.
Хост-система может разрешать домены без проблем, но, похоже, из-за того, что LXD также работает на хост-системе, он перехватывает все DNS-запросы. Мне придется это исправить позже, так как обработка DNS через LXD нарушает разрешение.
Тем не менее, при входе в контейнер и принудительном указании ему идентифицировать себя как домен возвращается ошибка «Connection Refused». Поэтому я перенаправил запросы на обратный прокси-сервер, доступный из интернета, который обслуживает HTTPS, и это, кажется, работает. Однако для этого пришлось изменить файл /etc/hosts. Мне нужно будет выяснить, можно ли принудительно добавить запись туда во время запуска контейнера Docker, но это задача на потом, так как сейчас всё «работает».