Alojamiento: DigitalOcean.
Seguido: todas las guías aquí también están en DigitalOcean, para instalar y configurar NGINX con Let’s Encrypt juntos.
Ejecutado con éxito HTTPS - https://hkh.pm/
Terminé con 502 Bad Gateway
Configuración de Discourse en /etc/nginx/sites-enabled/
server {
listen 80;
server_name www.hkh.pm;
return 301 https://hkh.pm$request_uri;
}
server {
listen 443 ssl http2;
server_name hkh.pm;
ssl_certificate /etc/letsencrypt/live/hkh.pm/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hkh.pm/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://hkh.pm:25654/;
proxy_read_timeout 90;
proxy_redirect http://hkh.pm:25654/ https://hkh.pm;
}
}
Configuración de App.yml
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- #"templates/web.ratelimited.template.yml"
## Descomenta estas dos líneas si deseas agregar Let's Encrypt (https)
- #"templates/web.ssl.template.yml"
- #"templates/web.letsencrypt.ssl.template.yml"
## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para más detalles
expose:
- "25654:80" # http
- "443:443" # https
Estado de NGINX:
dbm@hkh:~$ systemctl status nginx.service
● nginx.service - Servidor web de alto rendimiento y servidor proxy inverso
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-01-13 09:48:08 UTC; 16min ago
Process: 1459 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status
Process: 1389 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exite
Main PID: 1484 (nginx)
Tasks: 3
Memory: 10.4M
CPU: 229ms
CGroup: /system.slice/nginx.service
├─1484 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
├─1485 nginx: worker process
└─1486 nginx: worker process
Docker ps -a
dbm@hkh:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b91fdb1b28df local_discourse/app "/sbin/boot" About an hour ago Exited (5) 17 minutes ago
Mi conclusión es que hay algún tipo de problema con los puertos que indica que el reenvío no está configurado correctamente y se me han acabado las ideas. (he intentado casi todo lo que pude encontrar en Google y en la comunidad de Discourse). Aquí podemos ver el problema;
dbm@hkh:~$ sudo netstat -plntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1484/nginx -g daemo
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1484/nginx -g daemo
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1417/sshd
tcp6 0 0 :::22 :::* LISTEN 1417/sshd
Parece que docker-proxy no se está cargando y no está reenviando al puerto 25654. También tuve un problema que indicaba que el puerto 80 estaba siendo utilizado. Después de eso, reinicié y nginx no indicó que hubiera errores.
dbm@hkh:~$ sudo nginx -t
nginx: la sintaxis del archivo de configuración /etc/nginx/nginx.conf es correcta
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf es exitosa
¿Alguna sugerencia o consejo sobre qué podría hacer para resolver esto? ¡Gracias de antemano!