NGINX сломан?

Хорошо, я работаю на своём VPS с Ubuntu 18.04 LTS и собираю приложение. После завершения я перехожу на сайт, а там просто написано «Welcome to NGINX!».


Не понимаю, почему это произошло. Файл app.yml выглядит нормально, так что я не знаю, в чём дело.

Возможно, на этом сервере запущен другой веб-сервер nginx. Я никогда не видел, чтобы Discourse прекращал работу и показывал стандартную приветственную страницу nginx.

Вот что я подумал, поэтому я поискал имя процесса, соответствующее NGINX, но ничего не нашел. Затем я вывел список всех процессов, но там тоже ничего не было?

РЕДАКТИРОВАНИЕ: Я никогда не устанавливал NGINX на этот сервер

Хотя я помню, как к этому пришел. Я указал email для Lets Encrypt — ls@theforumssite.xyz, затем раскомментировал его и два шаблона. После этого я пересобрал приложение, но оно не заработало. Я сбросил всё (удалил папку discourse) и настроил заново, но результат тот же.

Вы используете Cloudflare?

Да, я использую Cloudflare, только DNS, но результат тот же при переходе напрямую по IP-адресу.

Где вы это устанавливаете?

На VPS под управлением Ubuntu 18.04 в Google Cloud.

Ладно, теперь вдруг всё заработало? Но HTTPS всё ещё нет (Connection Refused)

Хорошо, теперь я вообще не понимаю, что происходит. Я создал два SSL-файла (ssl.crt и ssl.key) и поместил их в /var/discourse/shared/standalone/ssl, включил шаблон SSL (не Let’s Encrypt) и добавил этот конфиг в секцию run. При переходе по HTTPS соединение отклоняется, но теперь при переходе по HTTP данные просто не передаются?

У меня виртуальная машина Google Cloud с установленной Ubuntu 18.04 LTS.

Было бы лучше, если бы вы оставили это в своей другой теме.

Вместо того чтобы возиться с собственными сертификатами, простое решение — снова запустить ./discourse-setup, указать адрес электронной почты для Let’s Encrypt, и всё будет сделано за вас. Если же вы хотите сделать это сложным способом, вам нужно найти здесь тему, описывающую, как это сделать, и следовать указанным инструкциям.

Нет веских причин создавать свои собственные сертификаты Let’s Encrypt — именно для этого в процессе установки Discourse запрашивается адрес электронной почты. Вы лишь добавляете лишние сложности.

Проверили ли вы, что ваш сервер доступен через порт 443? Рекомендуется использовать DigitalOcean, так как там отсутствуют подобные проблемы. Мы не сможем помочь вам, если вы будете импровизировать с частями процесса установки, и практически не сможем оказать помощь в случае использования Google Cloud.

Я тоже так думал, но мне также казалось, что люди просто увидят тег unsupported-install и сразу закроют страницу.

Поскольку вы не следуете стандартной процедуре установки, ваши действия не полностью поддерживаются, поэтому указанный тег будет корректным.

То же самое происходит, когда я прохожу процесс с email для Let’s Encrypt.

Хорошо, это моя ошибка, я буду иметь это в виду при создании тем.

Верно, и поскольку вы используете Google Cloud, вам приходится иметь дело с дополнительными сложностями. Это ваш выбор, и мы не можем помочь вам с этим.

Ладно, я понял, спасибо за помощь!

discourse-doctor попытается определить, открыт ли порт 443 через ваше доменное имя. Я предполагаю, что он блокируется фаерволом или политикой безопасности. Кажется, я помню, что в Gcloud его нужно открывать вручную.

Я думал, что так уже и было? Я проверю ещё раз и отвечу, открыто оно или нет. Я также добавил электронную почту и сейчас пересобираю проект, чтобы посмотреть, поможет ли это.