Le démon cloudflared fonctionne correctement et je l’ai utilisé pour de nombreuses choses (ce qui signifie que le tunnel est correctement installé sur le serveur), mais j’ai du mal à faire reconnaître mon nom d’hôte pour mon instance Discourse par la configuration de Discourse (./discourse-setup).
J’utilise biohacking.forum comme nom d’hôte pour mon instance.
Voici ma configuration Cloudflare Tunnel pour biohacking.forum :
Il me demande le nom d’hôte, j’entre biohacking.forum
Le message suivant s’affiche :
Hostname for your Discourse? [discourse.example.com]: biohacking.forum
Checking your domain name . . .
WARNING: Port 443 of computer does not appear to be accessible using hostname: biohacking.forum.
WARNING: Connection to http://biohacking.forum (port 80) also fails.
This suggests that biohacking.forum resolves to some IP address that does not reach this
machine where you are installing discourse.
The first thing to do is confirm that biohacking.forum resolves to the IP address of this server.
You usually do this at the same place you purchased the domain.
If you are sure that the IP address resolves correctly, it could be a firewall issue.
A web search for "open ports YOUR CLOUD SERVICE" might help.
This tool is designed only for the most standard installations. If you cannot resolve
the issue above, you will need to edit containers/app.yml yourself and then type
./launcher rebuild app
Que dois-je faire pour que cette étape fonctionne, s’il vous plaît faites-moi savoir si vous avez besoin d’informations supplémentaires. Merci !
Je n’utilise pas un enregistrement A standard, j’utilise des tunnels Cloudflare. Voici un exemple de service qui fonctionne parfaitement sur mon serveur (avec des tunnels Cloudflare) et la configuration associée :
Ghost CMS est le service :
PORT : 8085:2368 (8085 est l’hôte et 2368 est le service)
HOSTNAME : joshuahabka.com
Configuration du tunnel Cloudflare :
L’icône Cloudflare orange est activée car elle utilise des tunnels Cloudflare, mais pour Discourse, elle devrait être signalée comme un port d’accès normal. J’ai plus de 40 services déployés et accessibles via le Web, et Discourse est le premier pour lequel je rencontre des erreurs.
N’hésitez pas à me faire savoir si vous avez besoin d’informations supplémentaires !
Pour Discourse, je suppose que le port est :
443:443 (hôte:service) ce qui explique pourquoi j’avais configuré mon tunnel Cloudflare d’origine comme indiqué ci-dessus.
Salut Lilly, le guide susmentionné n’a pas fonctionné pour moi, je reçois toujours la même erreur même si ma configuration de tunnel Cloudflare est http://localhost:80 comme indiqué. Je suis toujours bloqué sur
starserver@Starserver:/var/discourse$ sudo ./discourse-setup
Les ports 80 et 443 sont libres d'utilisation
'samples/standalone.yml' -> 'containers/app.yml'
./discourse-setup: ligne 261: 4
scaling* 2: erreur de syntaxe dans l'expression (jeton d'erreur est \"scaling* 2\")
Nom d'hôte pour votre Discourse ? [discourse.example.com]: biohacking.forum
Vérification de votre nom de domaine . . .
AVERTISSEMENT : Le port 443 de l'ordinateur ne semble pas accessible en utilisant le nom d'hôte : biohacking.forum.
AVERTISSEMENT : La connexion à http://biohacking.forum (port 80) échoue également.
Cela suggère que biohacking.forum résout vers une adresse IP qui n'atteint pas cette machine où vous installez Discourse.
La première chose à faire est de confirmer que biohacking.forum résout vers l'adresse IP de ce serveur.
Vous faites généralement cela au même endroit où vous avez acheté le domaine.
Si vous êtes sûr que l'adresse IP se résout correctement, il pourrait s'agir d'un problème de pare-feu.
Une recherche sur le Web pour \"ouvrir les ports VOTRE SERVICE CLOUD\" pourrait aider.
Cet outil est conçu uniquement pour les installations les plus standard. Si vous ne parvenez pas à résoudre le problème ci-dessus, vous devrez modifier vous-même containers/app.yml, puis taper
./launcher rebuild app
Redirige toutes les requêtes avec le schéma « http » vers « https ». Cela s’applique à toutes les requêtes http vers la zone. » permet au port 80 de réussir, mais pas au port 443.
L’activation d’une règle de page pour rediriger vers HTTPS provoque également l’échec des ports 80 et 443, mais si je ne l’utilise pas, le port 443 échoue et le port 80 réussit.
FAILED
--------------------
Pups::ExecError : /usr/local/bin/ruby -e 'if ENV[\"DISCOURSE_SMTP_ADDRESS\"] == \"smtp.example.com\"; puts \"Aborting! Mail is not configured!\"; exit 1; end' a échoué avec le retour #<Process::Status: pid 134 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramètres {\"tag\"=>\"precompile\", \"cmd\"=>[\"/usr/local/bin/ruby -e 'if ENV[\\\"DISCOURSE_SMTP_ADDRESS\\\"] == \\\"smtp.example.com\\\"; puts \\\"Aborting! Mail is not configured!\\\"; exit 1; end'\", \"/usr/local/bin/ruby -e 'if ENV[\\\"DISCOURSE_HOSTNAME\\\"] == \\\"discourse.example.com\\\"; puts \\\"Aborting! Domain is not configured!\\\"; exit 1; end'\", \"/usr/local/bin/ruby -e 'if (ENV[\\\"DISCOURSE_CDN_URL\\\"] || \\\"\\\")[0..1] == \\\"//\\\"; puts \\\"Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts.\\\"; exit 1; end'\"]}
bootstrap a échoué avec le code de sortie 1
** ÉCHEC DU BOOTSTRAP ** veuillez faire défiler vers le haut et rechercher les messages d'erreur précédents, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.
C’est fait et tout est nominal maintenant. Je mettrais juste une note dans l’auto-installation pour le post du tunnel Cloudflare indiquant que les gens doivent modifier le document yaml pour ajouter leur smtp, leur nom d’hôte, leurs e-mails, etc.