Caddy V2 et serveur Matrix

Date de publication: 02/02/2021

Bonjour à toutes et à tous, bande de geeks !

Je souhaitais vous montrer une petite astuce qui, si j'étais tombé dessus bien avant, m'aurait sauvé des heures de torture mentale.

Si vous me suivez depuis longtemps, vous savez que je suis fan du système de communication Matrix. Sur le serveur suspicious.systems, nous avons mis en place une instance de ce service afin de pouvoir communiquer de manière sécurisée. (Si jamais vous souhaitez rejoindre l'instance, c'est par ici).

Tous nos services sont publiés grâce à un système reverse proxy. Si vous ne savez pas de quoi je parle, alors ça va être dur pour vous de suivre la suite !

En gros, on fait tourner un service “Frontal” qui dispatch les requêtes HTTP/S en interne, en fonction du nom de domaine accédé.

Le système que j'utilise depuis maintenant plus de 2 ans s'appelle Caddy. C'est un programme Open-Source, gratuit et libre qui fait très bien son taff !

Cette année, lorsque je suis sortie de ma cave pour ma balade annuelle, je me suis rendu compte que j'avais une version de retard sur Caddy ! Je me suis donc attelé à upgrader de la v1.0.5 à la 2 directement. Je vous épargne les détails de cette mise à jour, car sinon je serais dans l'obligation de passer cet article en catégorie +18.

Je me suis donc paluché les quelques centaines de lignes de conf qui font tourner notre infrastructure, et les ai adaptées à la version 2 de Caddy. Quelques petits mots-clé et tweaks plus tard, je lance Caddy et… Les services ont l'air de fonctionner ! Je m'empresse alors d'envoyer un message à Seatsea pour lui annoncer la nouvelle et là: Connection to the server has been lost.

Fuck

De là commence une session de troubleshooting incroyable ! Je vous passe toutes les étapes d'espoir, de dépression, de colère et autre. Voici donc la solution.

Voici donc la conf qui me sauva la vie:

monsite.com {
    reverse_proxy http://192.168.42.69:8008
}

matrix.monsite.com {
    reverse_proxy http://192.168.42.69:8008
}

monsite.com:8448 {
    reverse_proxy http://192.168.42.69:8008
}

Remplacez “monsite.com” par votre domaine et l'addresse IP interne par la vôtre, et -normalement- tout devrait fonctionner. Aussi, à savoir que Caddy fournit des recommandations afin de setup le reverse proxy pour Matrix.

Spoiler alert: Cette conf n'a pas fonctionné chez moi

Donc voilà, je pose ça là dans l'espoir qu'un jour quelqu'un en ai besoin comme j'en ai eu besoin.

En espérant que ce court post vous ai plu, je vous dis à bientôt pour un nouvel article! :D