Rendre « www » fonctionnel avec Discourse

Bonjour, je souhaiterais m’assurer que le sous-domaine www redirige les utilisateurs vers l’installation Discourse elle-même. Je pense que c’est nécessaire pour ne pas perdre de visiteurs. La plupart des gens n’omettent pas le « www » lorsqu’ils visitent des sites web.

3 « J'aime »

Vous devez ajouter un enregistrement A dans vos paramètres DNS chez votre registraire pour www, pointant vers l’adresse IP du serveur. La même que celle vers laquelle vous pointez actuellement l’enregistrement A de domain.com.

1 « J'aime »

Cela posera-t-il des problèmes lorsque l’utilisateur accède à la version avec www ? Discourse est configuré pour exclure le www.

1 « J'aime »

Non, car l’utilisateur sera redirigé. Le même site ne sera pas servi sous plusieurs domaines.

3 « J'aime »

Vous voulez ces guides. Je les ai utilisés dans exactement le même but :

4 « J'aime »

Est-ce que tu dis que l’ajout de l’enregistrement A pour ‘www’ ne suffit pas ? J’ai lu ces articles.

Mon site affichait un message d’erreur désagréable dans le navigateur sans enregistrer de certificat pour les deux « sous-domaines ».

1 « J'aime »

Je viens de configurer Discourse sur un droplet Digital Ocean. Pour l’étape 2, la modification de discourse.conf, cela nécessite-t-il l’installation de nginx ? Je ne suis pas certain, mais je ne pense pas que mon droplet ait nginx installé et je ne sais pas comment l’installer.

Je pense que ce guide explique cette partie :

https://meta.discourse.org/t/running-other-websites-on-the-same-machine-as-discourse/17247/294

1 « J'aime »

Oui, ajouter un enregistrement A pour www pointant vers la même adresse IP suffira pour rediriger le trafic.

Vous n’avez pas besoin de suivre les autres guides mentionnés ; un enregistrement A pointant vers l’IP est suffisant pour une redirection simple.

Évitez de compliquer votre installation sauf si cela est absolument nécessaire.

3 « J'aime »

Cela suffira-t-il pour éviter l’erreur de navigateur NET::ERR_CERT_COMMON_NAME_INVALID ? Si j’installe Discourse sur le sous-domaine www, l’accès au site via https://example.com me donne cette erreur. Cela ne fonctionne que si vous utilisez https://www.example.com.

C’est pourquoi vous devez utiliser une redirection : Discourse ne peut pas être servi depuis plusieurs URL.

Choisissez-en une et redirigez l’autre.

1 « J'aime »

Je rencontre un problème similaire et l’utilisation d’un enregistrement de redirection d’URL au niveau DNS ne résout pas le problème pour moi.

J’ai installé Discourse en utilisant le nom d’hôte ‘www.example.com’ et les enregistrements DNS suivants :

Enregistrement A             hôte : WWW      valeur : mon_ip_serveur
Enregistrement CNAME         hôte : @        valeur : www.example.com
Enregistrement de redirection d'URL  hôte : @        valeur : https://www.example.com

Si j’utilise ensuite SSL Server Test (Powered by Qualys SSL Labs) pour vérifier l’URL https://example.com sans le WWW, je reçois une erreur de non-concordance du nom de certificat et, dans mon navigateur, une erreur NET::ERR_CERT_COMMON_NAME_INVALID.

Encore une fois, toutes mes excuses si je passe à côté de quelque chose d’évident ici, le réseau n’est pas mon point fort !

1 « J'aime »

C’est pourquoi j’ai publié ces liens. J’aurais aimé que ce soit aussi simple qu’un changement de DNS. Cela ne m’a pas semblé être aussi simple non plus. Pour fonctionner via HTTPS, j’ai dû m’assurer qu’un certificat était enregistré pour les deux adresses. Pour y parvenir, suivez l’un des guides que j’ai publiés ci-dessus. L’autre guide vous permet d’effectuer une redirection.

Il est très peu probable que les utilisateurs spécifient le protocole lors de la saisie d’une URL. Si vous êtes vraiment inquiet à ce sujet, vous pouvez simplement utiliser Cloudflare pour le DNS et une règle de page simple.

1 « J'aime »

Oui, j’ai « déplacé » mon domaine (en fait, j’ai simplement décidé de supprimer le www), c’est pourquoi j’ai dû servir les liens existants déjà présents sur des sites que je ne contrôlais pas et qui pointaient vers mon ancien domaine avec https. Cela pourrait expliquer pourquoi, dans mon cas, je n’avais pas d’autre choix que de faire le travail complet.

Donc, ce que je comprends de votre message, c’est que si vous êtes simplement satisfait que quelqu’un tape www.example.com et que cela soit redirigé vers https://example.com, cela ne nécessite qu’un changement DNS ?

Cependant, si pour une raison quelconque vous souhaitez que https://www.example.com fonctionne (dans mon cas, c’était nécessaire car de tels liens étaient déjà « en circulation »), vous devez suivre les guides fournis.

Ou utilisez simplement une règle de page comme indiqué ci-dessus. Cela permettra de servir le domaine avec un certificat générique et de rediriger le trafic de manière transparente.

Tout cela sans aucune complexité supplémentaire sur le serveur Discourse.

1 « J'aime »

Qu’est-ce qu’une règle de page ?

Je compte suivre le guide How To Install Discourse Behind Nginx on Ubuntu 14.04 | DigitalOcean pour installer Nginx sur mon droplet DigitalOcean, puis appliquer les règles indiquées à l’étape 2 afin de rediriger vers le bon domaine. Je pense que cela devrait fonctionner ! Je vais essayer demain et voir si cela me permet de rediriger toutes les combinaisons de https://www., http://www, http://domain.com et https://domain.com vers mon nom d’hôte Discourse, pour lequel le certificat Let’s Encrypt est https://www.domain.com.

On verra bien !

@Erik_Manger, les solutions basées sur DNS n’ont pas fonctionné pour moi avec SSL. J’ai utilisé le premier lien fourni par @merefield et cela fonctionne bien.

Avez-vous dû installer Nginx devant Discourse pour que cela fonctionne ? Sur mon droplet Digital Ocean, le chemin “/etc/nginx/” utilisé dans les hooks supplémentaires n’existe pas.