Configuration du SSL pour RocketChat via Letsencrypt sur Nginx

Aujourd’hui, nous verrons la Configuration du SSL pour RocketChat via Letsencrypt sur Nginx. Rocket.chat est une solution open source qui, pour faire simple, est une des alternatives les plus populaires à Slack. Celui-ci permet de communiquer et de collaborer avec votre équipe, partager des fichiers, discuter en temps réel ou réaliser des conférences vidéo / audio.
Si vous ne l’avez pas encore fait, je vous invite à aller regarder l’article sur l’installation de Rocket.Chat sur Debian 9 ici : https://sqx-bki.fr/installation-de-rocket-chat-sur-debian-9.

Toutes les commandes présentes ici seront à exécuter en root.

Pour commencer, nous allons mettre à jour le système et ensuite installer le serveur web Nginx :

apt-get update
apt-get install nginx
systemctl status nginx.service

Maintenant, il vous faudra installer Let’s Encrypt ainsi que Certbot. Dans les lignes suivantes, n’oubliez pas de changer le domaine et l’adresse mail par vos propres données.

add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install letsencrypt
wget https://dl.eff.org/certbot-auto -P /usr/local/bin
chmod a+x /usr/local/bin/certbot-auto
export DOMAIN="rocket.sqx-bki.fr"
export EMAIL_ALERT="admin@sqx-bki.fr"

Ensuite, nous allons effectuer la création du certificat Let’s Encrypt :

/usr/local/bin/certbot-auto certonly --standalone -d $DOMAIN  --preferred-challenges http --agree-tos -n -m  $EMAIL_ALERT --keep-until-expiring

Puis, je vous invite à créer une sauvegarde de votre fichier de configuration Nginx avant modification :

cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old
vi /etc/nginx/sites-available/default

Ici, vous pourrez maintenant insérer dans le fichier de configuration précédent les lignes suivantes mais n’oubliez pas, encore une fois, de bien changer rocket.sqx-bki.fr par votre nom de domaine.

# Upstream definition
upstream backend {
    server 127.0.0.1:3000;
}
# http to https redirection
server {
  listen 80;
  server_name rocket.sqx-bki.fr;
  rewrite ^ https://$server_name$request_uri? permanent;
}
# HTTPS Server
server {
    listen 443;
    server_name rocket.sqx-bki.fr;
    error_log /var/log/nginx/rocket-chat.access.log;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/rocket.sqx-bki.fr/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/rocket.sqx-bki.fr/privkey.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don’t use SSLv3 ref: POODLE
    location / {
        proxy_pass http://backend/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
        proxy_redirect off;
    }
}

Nous allons dans un premier temps tester la configuration de Nginx :

nginx -t

Vous pouvez maintenant redémarrer nginx :

service nginx restart

Pour finir, ouvrez https://votre_domaine:3000 dans votre navigateur Web préféré. L’écran de connexion de Rocket.Chat doit s’afficher.

La Configuration du SSL pour RocketChat via Letsencrypt sur Nginx est maintenant fonctionnelle sur votre serveur. Pour plus d’informations sur Rocket.Chat, veuillez vous reporter à la documentation officielle de Rocket.Chat.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *