Cómo configurar SSL de Rocket Chat usando Letsencrypt para Nginx

Ya tienes tú propio chat y quieres seguir un paso más allá …;)

Cuando se instala Rocket chat, debe instalar un ssl de forma gratuita o comprar alguno. En este caso ya que es solo para un servicio propio o para tu blog personal vamos a usar el servicio SSL gratuito Let’Encrypt.

Este certificado tiene una fecha de validez de 3 meses. Pero configuré el proceso de renovación automático que no lo tengo muy claro si va a renovar el servicio automaticamentea.

puertos abiertos necesarios.

NAT PORT 443 (LAN) 443 (WAN)
NAT PORT 80 (LAN) 80 (WAN)

Primer paso actualizamos repositorios he instamamos nginx
[email protected]:~# apt-get update
[email protected]:~# apt-get install software-properties-common python-software-properties
[email protected]:~# apt-get install nginx
[email protected]:~# systemctl status nginx.service

Antes de instalar ssl, debe desactivar el puerto 80 de su servidor.

[email protected]:~# netstat -pan | grep ":80"
[email protected]:~# pkill -f nginx
[email protected]:~# systemctl start nginx.service
[email protected]:~# systemctl status nginx.service

Segundo paso ahora instala let’sencrypt y certbot y configura el servidor web nginx.

[email protected]:~# add-apt-repository ppa:certbot/certbot
[email protected]:~# apt-get update
[email protected]:~# apt-get install letsencrypt
[email protected]:~# wget https://dl.eff.org/certbot-auto -P /usr/local/bin
[email protected]:~# chmod a+x /usr/local/bin/certbot-auto
[email protected]:~# export DOMAIN="chat.technologyrss.com"
[email protected]:~# export EMAIL_ALERT="[email protected]"

Tercer paso Instale SSL gratuito desde let’sencrypt para el servidor nginx.

[email protected]:~# /usr/local/bin/certbot-auto certonly --standalone -d $DOMAIN  --preferred-challenges http --agree-tos -n -m  $EMAIL_ALERT --keep-until-expiring

Ahora es el momento en que todo va perfecto y no falla nada, pues nó error puerto 80, por que está arriba nginx, lo matamos nuevamente y ejecutamos de nuevo el paso anterior.

errorPuerto80

puertongnix

[email protected]:~# pkill -f nginx
[email protected]:~# netstat -pan | grep ":80"

repetimos –>

[email protected]:~# /usr/local/bin/certbot-auto certonly --standalone -d $DOMAIN  --preferred-challenges http --agree-tos -n -m  $EMAIL_ALERT --keep-until-expiring

todocorrecto

Haga una copia de seguridad del antiguo archivo de configuración web nginx y edítelo para usar ssl.

[email protected]:~# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.back
[email protected]:~# vi /etc/nginx/sites-available/default

 Inserta debajo de todas las líneas este código cambiando tu dominio personal las líneas en rojo.

# Upstream definition
upstream backend {
    server 127.0.0.1:3000;
}
# http to https redirection
server {
  listen 80;
  server_name chat.technologyrss.com;
  rewrite ^ https://$server_name$request_uri? permanent;
}
# HTTPS Server
server {
    listen 443;
    server_name chat.technologyrss.com;
    error_log /var/log/nginx/rocket-chat.access.log;
    ssl on;
    ssl_certificate /etc/letsencrypt/live/chat.technologyrss.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chat.technologyrss.com/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;
    }
}

reinicie el servidor web nginx y ejecute el comando de renovación.

[email protected]:~# nginx -t
[email protected]:~# service nginx restart
[email protected]:~# certbot-auto renew

ya os debería funcionar, cualquier duda, preguntar.

Más detalles en el enlace de la fuente que tiene un vídeo muy detallado y se agradece.

Fuente: technologyrss.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada.