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