hefestoapicontainer

VirtualHost: entornos y certificados https

Hefesto permite gestionar virtual host fácilmente, no tendrás que configurar ningún fichero nginx, ni apache, ni certificados https.

Virtual Host público

Es el virtual host sobre el que se despliegan las APIs, y el que expone las urls para acceder a esas mismas APIs. Tiene asociado una contraseña y un entorno.

Virtual Host de administración

Permite hacer despliegues, y consumir APIs no publicadas y otras operaciones de administración sobre cualquier virtual host público de esa instancia de Hefesto. Para ello usa la contraseña del virtual host público.

El entorno en los virtual host públicos

Los virtual host públicos tienen asociado un entorno, que permite que una misma API se comporte de manera diferente según el virtual host en que se haya publicado, usando los maps de la API.

Configuración de los Virtual Host en local

En local, ya existe el virtual host de administración "localhost". Crea un virtual host público:

cd hefesto-server/scripts
./virtualhost-public-set.sh myhefesto.localhost dev yourpassword

Configuración de los Virtual Host en un servidor

Apunta los dominios DNS contra la IP del servidor y asegura los puertos 80 y 443 abiertos.

Virtual host de administración:

cd hefesto-server/scripts
./virtualhost-admin-set.sh myadmindomain.com generatecert

Gracias a generatecert se generará automáticamente y gratis un certificado https para ese dominio.

Virtual host público:

cd hefesto-server/scripts
./virtualhost-public-set.sh myhefesto.localhost dev yourpassword generatecert

Acortar urls mediante un prefijo en el path

Si en un virtual host solo se expone una API, puedes añadir un prefijo al path:

./virtualhost-public-set.sh myvirtualhost.localhost dev yourpassword generatecert /test

Modificar la configuración de un virtualhost

Los comandos virtualhost-public-set.sh y virtualhost-admin-set.sh sobrescriben configuraciones previas.

Desactivar un virtual host

cd hefesto-server/scripts
./virtualhost-delete.sh myvirtualhost.localhost

Renovar los certificados https

cd hefesto-server/scripts
./virtualhost-certs-renew.sh

Es conveniente ejecutar este comando diariamente con un cron:

0 6 * * * /your-hefesto-root-path/hefesto-server/scripts/virtualhost-certs-renew.sh