Проверка имени домена . . .
ПРЕДУПРЕЖДЕНИЕ: Порт 443 на компьютере, по-видимому, недоступен по имени хоста: ***.com.
ПРЕДУПРЕЖДЕНИЕ: Соединение с http://shoutam.com (порт 80) также не удаётся.
Это указывает на то, что ***.com разрешается в какой-либо IP-адрес, который не ведёт к этому
серверу, на котором вы устанавливаете Discourse.
Первое, что нужно сделать, — убедиться, что ***.com разрешается в IP-адрес этого сервера.
Обычно это делается в том же месте, где вы покупали домен.
Если вы уверены, что IP-адрес разрешается корректно, проблема может быть в брандмауэре.
Поиск в интернете по запросу «открыть порты ВАШ ОБЛАЧНЫЙ ПРОВАЙДЕР» может помочь.
Этот инструмент предназначен только для самых стандартных установок. Если вы не сможете решить
вышеуказанную проблему, вам нужно будет самостоятельно отредактировать containers/app.yml, а затем выполнить
./launcher rebuild app
Пожалуйста, кто-нибудь может помочь мне решить эту проблему? Я использую Cloudflare.
Однако вы всё равно не сможете установить, так как Let’s Encrypt требует прямого доступа к портам 80 и 443 для выпуска сертификата.
После получения сертификата и установки Discourse вы можете найти темы о том, как настроить работу с Cloudflare в качестве промежуточного звена (что включает использование шаблона Cloudflare).
Отличное замечание. Это не Let’s Encrypt, а клиент acme.sh, используемый в Discourse, которому требуется прямой доступ (у Certbot есть DNS-плагины, требующие дополнительной настройки, но они устраняют это требование). Я не подумал об этом, потому что практически каждая установка Discourse, которую я разворачивал за эти годы, требовала использования обратного прокси, поэтому внутренний шаблон SSL отключён изначально.
Я не совсем понимаю, что вы имеете в виду под removed, но обычно для распространения DNS требуется несколько часов. Возможно, стоит подождать какое-то время и попробовать снова.
Здесь отсутствует довольно много информации, чтобы мы могли предложить более существенную помощь.
В наши дни Cloudflare не будет выходить из строя в режиме прокси (оранжевое облако), если HTTPS не установлен в режим «Strict» (строго), так как оба порта :80 (HTTP) и :443 (HTTPS) передаются напрямую на сервер.
Режим «Strict» принудительно перенаправляет трафик с порта :80 на SSL, из-за чего проверка не пройдет.
Вполне возможно, что вы упустили один или несколько фундаментальных моментов, но без указания местоположения VPS и информации о том, что вы настроили в DNS, мы можем лишь гадать, что именно происходит.
Некоторые провайдеры требуют настройки ACL между их VPS и внешним миром — проверили ли вы, что эти порты открыты извне? Убедитесь ли вы, что добавленная вами запись «A» в DNS указывает на выделенный публичный IP-адрес? Есть ли какие-либо брандмауэры?
Это верно для некоторых DNS-провайдеров, безусловно, но Cloudflare принудительно устанавливает TTL в 300 секунд для любого адреса, который они проксируют. Это означает, что любые вышестоящие DNS-серверы утратят старые записи в течение пяти минут после изменения.
Единственное назначение этого шаблона — обеспечить корректное извлечение IP-адресов клиентов из дополнительных заголовков, которые добавляет Cloudflare при включенном режиме прокси. Это не имеет прямого отношения к процессу установки.
Если вы несколько раз запускали пересборку с оранжевым облаком, то, скорее всего, вы достигли лимитов частоты запросов у Let’s Encrypt. Простые решения: использовать другое поддоменное имя или подождать неделю.
Скажите, сработает ли это, если я удалю дроплет и создам новый?
Обратите внимание, что до возникновения этой проблемы я успешно установил Discourse, но затем удалил этот дроплет из-за ошибки в адресе электронной почты администратора. Теперь я не могу установить Discourse, используя тот же процесс, что и раньше.
Возвращаю к жизни эту тему в надежде, что знающие комментаторы смогут мне тоже помочь.
У меня возникает та же ошибка, что и у первоначального автора темы.
Сейчас я использую Unraid и запускаю контейнер с Nginx Proxy Manager. В настройках фаервола порты 80 и 443 перенаправляются на контейнер NPM. Мне удалось успешно настроить множество контейнеров Docker с помощью NPM, и всё работало отлично.
Я установил виртуальную машину Ubuntu Server, прошёл начальную настройку, задал статический IP-адрес для ВМ, установил Docker, затем скачал Discourse, но скрипт настройки не выполнился, как и у автора темы.
Если вы хотите использовать Nginx Proxy Manager, вам нужно вручную настроить файл app.yml. Вы можете либо отключить свой прокси на время, чтобы discourse-setup мог выполнить первоначальную настройку (вам всё равно придётся вручную внести некоторые изменения), либо скопировать конфигурацию из samples/standalone.yml.
Да, насколько я понимаю, YAML-файлы заполняются после запуска и завершения процесса discourse-setup. Чтобы этого добиться, возможно, я могу перенаправить WAN-трафик на моем фаерволе на мою виртуальную машину Ubuntu, на которой я устанавливаю Discourse, а после завершения настройки переключить трафик обратно на обратный прокси, а затем настроить файл app.yml.
Я забыл об этом. Вы можете использовать переключатель --skip-connection-test, чтобы пропустить этот тест и запустить скрипт. Вам всё ещё потребуется вручную отредактировать порты, но это позволит использовать скрипт для создания файла и ввода ваших учётных данных SMTP.