Le port 443 n'est pas accessible avec le nom d'hôte et le port 80 échoue également

Bonjour, c’est la première fois que j’essaie d’auto-héberger Discourse. J’ai suivi le guide d’installation officiel de GitHub en exécutant wget -qO- https://raw.githubusercontent.com/discourse/discourse_docker/main/install-discourse | sudo bash. Tout a bien fonctionné jusqu’à la connexion au sous-domaine. Après avoir terminé la vérification, je continue de recevoir les mêmes erreurs : « Le port 443 de cet ordinateur ne semble pas accessible via le nom d’hôte : [Sous-domaine Discourse] et la connexion au [Sous-domaine Discourse] port 80) échoue également ».

Pour commencer, le fichier app.yml n’existait même pas, alors j’ai cherché en ligne et j’ai résolu ce problème. J’ai changé le port à 81 et j’ai également changé le port 443 et j’ai réessayé, même erreur que si je n’avais pas changé le port du tout.

J’ai aussi vérifié si raspap pouvait causer des problèmes et j’ai vu qu’il utilisait le port 80. Je l’ai changé à 81 et toujours la même erreur.

Qu’est-ce que je fais de mal ? Est-ce parce que j’utilise un Raspberry Pi 5 ? Dois-je ouvrir des ports dans les paramètres de mon routeur ? Je suis perdu et désolé si c’est une question de débutant, c’est probablement parce que je suis un débutant en la matière.

Hmm… suivez-vous :

Non, mais je vais certainement essayer cela car je suis sûr que cela va résoudre le problème que j’ai actuellement. Merci :slight_smile:

J’ai réussi à corriger l’erreur du port 80, mais je n’arrive toujours pas à comprendre pourquoi le 443 ne fonctionne toujours pas. Je ne suis pas sûr que raspap l’utilise encore, mais je ne pense pas pouvoir le changer.

Après avoir mis une éternité à comprendre le truc du tunnel Cloudflare, j’ai finalement réussi à le connecter sans aucune erreur de port 80 et 433 en suivant ce guide : Install Discourse on a residential internet with Cloudflare Tunnel

Ensuite, il y a eu un compte à rebours de 5 secondes et il a commencé à faire son truc jusqu’à ce qu’il s’arrête. J’ai pensé que j’avais peut-être fini ici, alors j’ai visité le domaine mais il indique qu’il ne répond pas. Localhost ne montre rien du tout non plus. Est-ce que je le démarre de la mauvaise manière ? Je n’ai modifié aucune configuration et j’ai même désinstallé et réinstallé tout sans succès. La reconstruction s’arrête également et doctor discourse dit que l’application conteneurisée Discourse est en cours d’exécution. Alors, comment puis-je y accéder sur mon réseau local pour voir s’il est même actif sur d’autres appareils ?

Vous pouvez essayer de faire un cURL sur l’IP du raspberry pour voir s’il répond.

Vous pouvez également vérifier l’état du tunnel sur le tableau de bord Cloudflare.

4 « J'aime »

J’obtiens curl: (7) Échec de la connexion à (IP ici) port 80 après 0 ms : Impossible de se connecter au serveur

Le tableau de bord Cloudflare indique qu’il est sain.

Ce que j’ai oublié de mentionner, c’est que j’héberge également raspap, qui est un point d’accès (Hotspot) pour le Raspberry et qui héberge également un tableau de bord web, mais j’ai changé le port pour celui-ci à 81.

1 « J'aime »

Donc, Discourse est censé être accessible depuis le port 80 de votre PI, mais cURL ne peut pas y accéder depuis votre autre machine ?

Pouvez-vous partager votre fichier app.yml ?

J’ai essayé curl sur le Pi lui-même. Je ne peux pas non plus accéder au site web sur mon téléphone, mais je peux accéder à l’autre site que j’héberge depuis l’IP du Pi avec le port 81

Voici mon fichier 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"

Vous n’avez pas du tout suivi le guide sur Install Discourse on a residential internet with Cloudflare Tunnel ?

Comme si vous n’aviez pas commenté les ports et les modèles.

2 « J'aime »

Oh oui, vous avez raison. C’est parce que pendant que je dépannais, je l’ai supprimé parce que je n’étais pas sûr que c’était la raison pour laquelle cela ne fonctionnait pas avant.

Je n’étais pas non plus sûr de devoir commenter les ports, alors j’ai essayé à nouveau sans le faire et maintenant ça marche… Un peu parce que ça n’a pas l’air bien

J’ai également désactivé la chose Rocket comme le guide l’indiquait. Le problème se produit à la fois sur le domaine et en localhost.

On dirait un problème de CSS, ainsi qu’un problème de pare-feu ? Avez-vous des restrictions de pare-feu chez votre fournisseur d’accès à Internet ?

Je n’ai configuré aucune restriction de pare-feu et je n’ai pas non plus touché au CSS. Le routeur que j’utilise est également très limité, je ne peux donc malheureusement pas modifier les paramètres du pare-feu.

De plus, apparemment, aucun port n’est restreint à l’exception des ports 25 et 455.

1 « J'aime »

On dirait aussi qu’il n’utilise pas HTTPS mais HTTP pour une raison quelconque. Comme le guide l’indiquait, j’ai forcé HTTPS dans le fichier app.yml, donc je ne sais pas pourquoi je ne peux pas accéder au site en utilisant HTTPS.

@Falco Faut-il un certificat LetsEncrypt lors de l’utilisation de Cloudflare Tunnels ? Ou est-ce automatique via Cloudflare ?