Порт 443 недоступен при использовании имени хоста, порт 80 также не работает

Привет, это мой первый опыт самостоятельного хостинга Discourse. Я следовал официальной инструкции по установке на GitHub, выполнив команду: wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash. Всё шло хорошо, пока не дошло до подключения к поддомену. После завершения проверки я продолжаю получать одни и те же ошибки: «Порт 443 этого компьютера, по-видимому, недоступен по имени хоста: [Поддомен Discourse]» и «Подключение к [Поддомен Discourse] порт 80 также не удаётся».Сначала файла app.yml вообще не существовало, поэтому я поискал информацию в интернете и исправил ситуацию. Я изменил порт на 81, а также поменял 443, и попытался снова, но ошибка осталась той же, как будто я вообще не менял порт.Также я проверил, не вызывает ли проблем raspap, и обнаружил, что он использует порт 80. Я изменил его на 81, но ошибка всё та же.Что я делаю не так? Возможно ли это из-за того, что я использую Raspberry Pi 5? Должен ли я открывать порты в настройках моего роутера? Я в растерянности и прошу прощения, если это глупый вопрос — скорее всего, потому что я новичок в этом.

Хм… вы следуете:

Нет, но обязательно попробую, потому что уверен, что это исправит проблему, с которой я сейчас сталкиваюсь. Спасибо :slight_smile:

Мне удалось исправить ошибку с портом 80, но я всё ещё не могу понять, почему порт 443 по-прежнему не работает. Не уверен, не использует ли его всё ещё raspap, но я не думаю, что смогу его изменить.

После того как я потратил вечность на разбирательство с туннелем Cloudflare, мне наконец удалось заставить его подключиться без ошибок портов 80 и 443, следуя этому руководству: Install Discourse on a residential internet with Cloudflare Tunnel

Затем появился 5-секундный обратный отсчёт, и процесс начал работу, но потом остановился. Я подумал, что, возможно, всё готово, и зашёл на домен, но там написано, что он не отвечает. Локалхост тоже ничего не показывает. Может, я запускаю его неправильно? Я не менял никаких конфигураций, даже удалил и переустановил всё заново, но безрезультатно. Пересборка тоже просто останавливается, а команда discourse doctor сообщает, что контейнерное приложение Discourse запущено. Так как же мне получить доступ к нему в моей локальной сети, чтобы проверить, работает ли он на других устройствах?

Вы можете попробовать выполнить cURL запрос к IP-адресу Raspberry Pi и посмотреть, есть ли ответ.

Также вы можете проверить состояние туннеля на панели управления Cloudflare.

Получаю ошибку curl: (7) Не удалось подключиться к (здесь IP) порт 80 после 0 мс: Не удалось подключиться к серверу

В панели управления Cloudflare указано, что всё в порядке.

Я забыл упомянуть, что также запускаю RaspAP — точку доступа для Raspberry Pi, которая также предоставляет веб-панель управления, но я изменил её порт на 81.

Получается, что Discourse должен быть доступен через порт 80 на вашем Raspberry Pi, но cURL не может подключиться к нему с другого компьютера?

Можете поделиться вашим файлом app.yml?

Я попробовал запустить curl на самом Raspberry Pi. Также я не могу получить доступ к веб-сайту со своего телефона, но могу зайти на другой сайт, который я хостю с IP-адреса Pi через порт 81.

Вот мой файл app.yml:

templates:

  - templates/postgres.template.yml

  - templates/redis.template.yml

  - templates/web.template.yml

  - templates/web.ratelimited.template.yml

  - templates/web.ssl.template.yml

  - templates/web.letsencrypt.ssl.template.yml

expose:

  - 80:80

  - 443:443

params:

  db_default_text_search_config: pg_catalog.english

  db_shared_buffers: 4096MB

env:

  LC_ALL: en_US.UTF-8

  LANG: en_US.UTF-8

  LANGUAGE: en_US.UTF-8

  DISCOURSE_HOSTNAME: forum.iambest.net

  DISCOURSE_DEVELOPER_EMAILS: (private email)

  DISCOURSE_SKIP_EMAIL_SETUP: '1'

  UNICORN_WORKERS: 8

volumes:

  - volume:

      host: "/var/discourse/shared/standalone"

      guest: "/shared"

  - volume:

      host: "/var/discourse/shared/standalone/log/var-log"

      guest: "/var/log"

hooks:

  after_code:

    - exec:

        cd: "$home/plugins"

        cmd:

          - git clone https://github.com/discourse/docker_manager.git

run:

  - exec: echo "Beginning of custom commands"

  - exec: echo "End of custom commands"

Вы вообще не следовали руководству по адресу Install Discourse on a residential internet with Cloudflare Tunnel?

То есть вы не закомментировали порты и шаблоны.

Да, ты прав. Это потому, что во время устранения неполадок я удалил это, так как не был уверен, что именно из-за этого оно раньше не работало.

Также я не был уверен, нужно ли мне закомментировать порты, поэтому попробовал снова без этого, и теперь оно работает… Хотя бы немного, потому что это выглядит неправильно:

Я также отключил Rocket, как сказано в руководстве. Проблема возникает как на домене, так и на localhost.

Похоже, это проблема с CSS, а также с брандмауэром. Есть ли у вашего провайдера какие-либо ограничения брандмауэра?

Я не настраивал никаких ограничений брандмауэра и не трогал CSS. Мой роутер также очень ограничен, поэтому, к сожалению, я не могу изменить какие-либо настройки брандмауэра.

Кроме того, по всей видимости, нет никаких ограничений портов, кроме портов 25 и 455.

Также похоже, что по какой-то причине используется не HTTPS, а HTTP. Как указано в руководстве, я принудительно включил HTTPS в app.yml, поэтому непонятно, почему я не могу получить доступ к сайту через HTTPS.

@Falco Нужен ли сертификат Let’s Encrypt при использовании Cloudflare Tunnels? Или это происходит автоматически через Cloudflare?