À des fins de tests/validation, j’installe discourse sur une machine Ubuntu chez moi dont l’IP locale a été fixée, on va dire 192.168.1.200.
Elle est derrière une box avec une IP publique, on va dire A.B.C.D, non full-stack.
Pour une raison indépendante de ma volonté, je ne peux pas la faire changer pour une full-stack. Je suis donc limité dans le NATing sur la box à un range de ports rentrant entre des valeurs très hautes, donc ni 443 ni 80.
Pour l’exemple, on va dire que j’ouvre le port entrant 50000 en TCP/UDP vers 192.168.1.200 sur le port 443.
A priori donc, un requête arrivant sur l’IP publique A.B.C.D sur le port 50000 devrait être poussée sur 192.168.1.200:443
J’ai un nom de sous-domaine, on va dire : forum.mondomaine.me avec les enregistrement A et AAAA qui pointe vers l’IP publique A.B.C.D (pour IPv4).
Si j’essaie d’accéder à l’URL précitée, je vois bien le changement en A.B.C.D:50000 et bien sûr un rejet puisqu’il n’y a pas (encore) d’écoute sur 192.168.1.200:443
Là où ça se corse, c’est qu’à l’installation (mode docker) de discourse sur ma machine, l’étape de vérification de la configuration du domaine échoue :
Installant Discourse sur une machine Ubuntu chez moi, comme je l’écrivais initialement, oui c’est bien un réseau domestique.
Est-il possible que votre FAI bloque le trafic ?
C’est précisément le cas quand l’IP publique n’est pas full-stack. Et à ce stade, je ne peux rien y faire.
Pourquoi ne pas utiliser un VPS à la place ?
Parce que pour ce test je n’envisage pas l’achat d’un VPS. Mais je suis d’accord : un VPS serait la solution si j’en avais déjà un sous le coude. Et je n’aurais pas hésité.
Quant à l’utilisation d’un tunnel Cloudflare, de ce que je viens de constater, ça me semble une usine à gaz pour si peu… Et puis Cloudflare…
Si seulement il était aussi simple et rapide d’installer Discourse sur un réseau local isolé (ou pas)…
J’ai bien vu qu’il y a un guide quelque part (dont j’ai déjà perdu l’URL) pour un intranet, qui m’a également semblé assez lourd aussi, surtout comparé à une install standard !
Laissons tomber, ce n’est pas vital, je n’ai pas envie d’y passer des heures.
Pour le temps passé à tout réparer entre votre propre réseau, votre FAI qui achemine correctement le trafic, et vous-même en veillant à ne laisser aucune porte ouverte à un acteur suspect pour pirater votre réseau domestique, l’utilisation de tunnels Cloudflare est plutôt simple et directe à mon avis. Surtout sur un réseau domestique.
Non, je n’ai pas besoin d’une connexion provenant de l’extérieur de mon LAN pour tester.
J’ai donc lancé install-discourse avec --skip-connection-test et comme espérée, l’installation s’est poursuivie sans bloquer sur la vérification du domaine.
Il faut penser à stopper nginx s’il tourne déjà (hors docker).
Mais c’est bon ! Discourse tourne dans son container !
Mais… ostensiblement on a maintenant un problème de certificat.
J’ai bien sûr suivi ce sujet et vérifié l’existence de /var/discourse/shared/ssl/forum.mondomaine.me.cer et c’est bon, comme le .key et deux autres fichiers en .me_ecc.cer|key
J’ai reconstruit le container et c’est pareil.
Je confirme qu’installer Discourse sur une bécane de test en local, c’est le parcours du combattant !
Ce n’est visiblement pas encouragé.
Et à défaut d’une solution simple (non je n’utiliserai pas CloudFlare, inutile d’aller dans ce sens merci), je pense que ce sera mon dernier message sur le sujet.
Juste une chose de plus, j’ai noté que la commande docker run comportait DISCOURSE_FORCE_HTTPS=true, j’ai donc essayé à false puis relancé après reconstruction du container.