Activar HTTPS¶
Por qué importa HTTPS
Los navegadores como Chrome exigen que Drovio Server sea accesible por HTTPS para que un usuario pueda compartir su micrófono o su webcam desde el cliente web.
Pasos¶
-
Obtenga de su autoridad de certificación un certificado, un certificado intermedio y una clave privada, en
.crty.keyo en.pem. En los comandos que siguen se llamandrovioserver.crt,ca.crtydrovioserver.key. -
En la máquina donde está desplegado Drovio Server, ejecute los comandos siguientes. Sustituya
eUv4ffT4por una contraseña de su elección yyour_hostnamepor el nombre de host para el que se emitió el certificado. El primer comando borra el almacén de claves existente para que la importación parta de un archivo limpio; haga antes una copia de seguridad si el suyo le importa. No se trata del almacén SAML, que es un archivo aparte designado porusers.auth.saml.keystore.rm /etc/drovio-server/keystore.jks openssl pkcs12 -export -in drovioserver.crt -inkey drovioserver.key \ -certfile ca.crt -out pkcs2.p12 -name your_hostname -password pass:eUv4ffT4 keytool -importkeystore -deststorepass eUv4ffT4 -destkeypass eUv4ffT4 \ -destkeystore /etc/drovio-server/keystore.jks \ -srckeystore pkcs2.p12 -srcstoretype PKCS12 -srcstorepass eUv4ffT4 \ -alias your_hostnameElimine
C:\ProgramData\Drovio\Drovio Server\keystore.jks, después:openssl pkcs12 -export -in drovioserver.crt -inkey drovioserver.key ^ -certfile ca.crt -out pkcs2.p12 -name your_hostname -password pass:eUv4ffT4 keytool -importkeystore -deststorepass eUv4ffT4 -destkeypass eUv4ffT4 ^ -destkeystore "C:\ProgramData\Drovio\Drovio Server\keystore.jks" ^ -srckeystore pkcs2.p12 -srcstoretype PKCS12 -srcstorepass eUv4ffT4 ^ -alias your_hostnameHerramientas en Windows
- Descargue los binarios de OpenSSL, por ejemplo desde https://indy.fulgan.com/SSL/.
- El comando
keytoolse encuentra en la carpetabindel JRE de Java, ya instalado enC:\Program Files\Java\junto con Drovio Server.
-
Modifique los campos siguientes en el archivo de configuración, o directamente desde el panel de administración, en la sección
http:"tls": true, "keystore": "/etc/drovio-server/keystore.jks", "keystore_password": "eUv4ffT4", "https_port": 443Indicar
https_porttiene su importancia: activar solo TLS deja al servidor escuchando en su puerto predeterminado,8090.La contraseña del almacén se guarda en claro
settings.confcontiene ahora un secreto. Asegúrese de que el archivo solo sea legible por la cuenta que ejecuta Drovio Server. -
Reinicie el servicio Drovio Server. A diferencia de la mayor parte de la configuración, todo lo que define el escuchador HTTP se lee una sola vez al arrancar, por lo que aquí hace falta un reinicio. Consulte Iniciar y detener el servicio para su plataforma.
-
Compruebe el resultado desde otra máquina:
La salida debe mostrar su certificado y el certificado intermedio. Un intermedio ausente es el error más frecuente: algunos navegadores aceptarán aun así la conexión allí donde la aplicación Drovio la rechazará.
Renovar el certificado¶
El almacén contiene una copia del certificado, no una referencia a él: un certificado renovado debe, por tanto, volver a importarse. Repita el paso 2 cada vez, lo que ocurre cada 90 días con Let's Encrypt.
En Linux, envíe SIGUSR2 a Drovio Server para aplicarlo: el almacén se vuelve
a leer desde el disco y el certificado se sustituye en el escuchador en curso, sin
perder una sola conexión:
La línea de registro SSL certificate has been reloaded lo confirma. Un fallo se
señala con SSL certificate reloading has failed, y el certificado anterior sigue
en servicio.
Automatizar la renovación
La renovación se vuelve así totalmente automatizable: haga que el hook de despliegue de su cliente ACME ejecute el paso 2 y envíe después la señal. Sin reinicio y sin ventana de mantenimiento.
Windows
Las señales no se gestionan en Windows. Aplicar allí un certificado renovado obliga a reiniciar el servicio.
Protocolos y suites de cifrado¶
TLS 1.2 y TLS 1.3 están activados de forma predeterminada. Para restringirlos, o
para fijar una lista de suites de cifrado, utilice
http.tls_protocols y http.tls_cipher_suites.