L'installation de Docker ne fonctionne pas avec le proxy Cloudflare

J’ai configuré une instance Amazon EC2 pour héberger Discourse et tout semblait bien se passer, jusqu’à ce que j’aie saisi toutes mes informations dans le script d’installation et que celui-ci s’exécute. Après cela, l’image Docker de Discourse devrait être opérationnelle sur le port 80.

Ce n’est pas le cas.

Je ne sais pas pourquoi. Une chose que j’ai pu diagnostiquer, c’est que si j’arrête le conteneur Docker, puis que je le redémarre, lorsque j’accède à l’adresse IP de mon instance EC2, j’obtiens l’écran par défaut du serveur Nginx. Mais après quelques secondes, cela s’arrête également.

J’ai utilisé l’installation Docker comme recommandé.

Lorsque je me rends sur le nom de domaine, rien ne se passe. Lorsque je me rends sur l’adresse IP, rien ne se passe non plus.

Il tourne sur le port 80.

Lorsque j’arrête le conteneur Docker et que je le redémarre, comme mentionné ci-dessus, je peux accéder à la page par défaut de nginx « ça marche ». Ensuite, tout redevient inopérant après quelques secondes.

Que se passe-t-il ici ? C’est extrêmement frustrant.

Comment puis-je consulter les journaux d’erreurs pour cela ?

[quote=“realisation, post:2, topic:160557”]
Je peux accéder à la page par défaut de nginx « it’s working ». [/quote]

Quelle distribution exécutez-vous ? Un serveur Ubuntu standard ne comprend pas nginx, donc sauf si vous l’avez installé manuellement, vous ne devriez jamais voir cette page.

Si nginx est en cours d’exécution sur l’hôte, cela interférera effectivement avec l’installation et provoquera des dysfonctionnements.

Salut Rafael, merci pour ta réponse.

Je pense que j’ai peut-être modifié mon fichier /etc/hosts pour contourner le vrai problème, qui était en fait que l’installateur indiquait que les ports 443 et 80 n’étaient pas accessibles avec le nom d’hôte que j’utilise.

J’ai finalement décidé de supprimer l’installation et de repartir de zéro, et c’est ce qui se produit à nouveau. Alors, pourquoi ne pas oublier tout ce que j’ai dit plus haut et recommencer ?

Pourquoi ne pourrait-il pas accéder aux ports 443 et 80 ?

J’ai configuré mon groupe de sécurité EC2 pour autoriser tout le trafic HTTP et HTTPS entrant, donc je suis un peu confus ici.

L’installation standard n’utilise pas nginx installé sur le système et si vous avez nginx installé sur l’hôte, Discourse n’aura pas accès aux ports 80 et 443. En installant nginx sur le système, vous avez empêché Discourse de fonctionner dans sa configuration standard.

Cela n’a rien à voir avec Amazon. Il s’agit simplement d’administration système Linux.

(Cela peut être approprié d’avoir nginx installé sur le système pour Setting up offline page, mais cela nécessite de comprendre comment fonctionnent les ports sous Linux. :smiling_face: Ne commencez donc pas par là si la situation actuelle ne vous semble pas claire !)

Comme je l’ai dit, oubliez ça.

J’ai trouvé la solution.

Il s’avère que vous ne pouvez pas permettre à Cloudflare de faire office de proxy pour votre sous-domaine Discourse : vous devez cliquer sur le nuage orange de l’enregistrement A du sous-domaine pour le passer en gris (DNS uniquement) — et votre installation Discourse ne devrait alors plus avoir de problème pour accéder aux ports appropriés.

Merci !