En este post te voy a enseñar cómo usar un certificado SSL previamente configurado con Apache para usarlo en un programa de Go. El sitio web de un cliente tenía un servidor con Apache y Let’s encrypt, pero quería que una aplicación de Golang (que escucha en un puerto distinto) usara ese mismo certificado.
Por ello es que hoy vamos a ver cómo reutilizar ese mismo certificado que ya funciona con Apache pero que también queremos usar en otro puerto en una aplicación distinta, sin proxy.
Necesitamos la ubicación de fullchain.pem y privkey.pem, que normalmente están ubicados en /etc/letsencrypt/live/tusitio.com/. Recomiendo navegar a ese directorio y verificar que la ruta es correcta, ajustando la cadena a tu dominio.
Puede que al llegar a ese directorio notes que son enlaces simbólicos; esto es totalmente normal.
Si el certificado SSL ya funciona con Apache, no tienes que mover ninguna otra cosa; ya que la app de Golang va a escuchar en otro puerto y no existirá ninguna interferencia.
Ahora que has localizado el certificado, debes modificar tu app de Go. En mi caso anteriormente se veía así sin certificado:
servidor := &http.Server{
Handler: enrutador,
Addr: ":8888",
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
fmt.Printf("Servidor iniciado en http://localhost%s", PuertoServidor)
log.Fatal(servidor.ListenAndServe())
Y ahora se ve así:
servidor := &http.Server{
Handler: enrutador,
Addr: ":8888",
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
fmt.Printf("Servidor iniciado en http://localhost%s", PuertoServidor)
log.Fatal(servidor.ListenAndServeTLS("/etc/letsencrypt/live/tusitio.com/fullchain.pem", "/etc/letsencrypt/live/tusitio.com/privkey.pem"))
Con eso debería funcionar sin problemas. Ahora puedes acceder a https://tusitio.com para tu sitio normal con Apache, y a https://tusitio.com:8888 para tu aplicación con Golang; ambos usando el mismo certificado de Let’s encrypt.
Solo no te olvides de darle a tu app los permisos necesarios, tanto en la lectura de archivos como en el firewall.
En el ejercicio de programación de hoy vamos a trabajar con ANSI C para leer…
Hoy te quiero compartir una herramienta en línea para generar números aleatorios directamente en el…
Comprimir un PDF con Telegram es posible gracias a los Bots. Anteriormente en mi blog…
En este post te voy a enseñar a guardar solo algunos días de la semana…
En este post te enseñaré a usar tu impresora térmica comenzando en el paso de…
Hoy voy a tratar de solucionar el error ERR_SSL_CIPHER_OPERATION_FAILED que aparece al usar npm install…
Esta web usa cookies.