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)
[email protected]:~# apt-get update [email protected]:~# apt-get install software-properties-common python-software-properties [email protected]:~# apt-get install nginx [email protected]Chat:~# 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.
[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
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