URLs Publicas
Por defecto, los servicios solo son accesibles internamente dentro de tu proyecto. Para exponer un servicio a internet con HTTPS, configura public: true.
Habilitar acceso publico
{
"api": {
"source": { "repo": "github.com/you/api.git", "ref": "main" },
"type": "app",
"runtime": "node",
"port": 3000,
"public": true
}
}
Formato de URL
Los servicios publicos reciben una URL basada en el nombre del servicio y el slug del proyecto:
https://{service-name}-{project-slug}.swisblade.com
Ejemplo: Si el slug de tu proyecto es a1b2c3d4-my-app y el servicio se llama api:
https://api-a1b2c3d4-my-app.swisblade.com
Puedes encontrar el slug de tu proyecto en el dashboard, en la pagina de resumen del proyecto.
Certificados SSL
Los certificados SSL se aprovisionan automaticamente via Let's Encrypt. No hay nada que configurar: tu URL publica esta disponible por HTTPS inmediatamente despues del despliegue.
Rate limiting
Los servicios publicos tienen rate limiting habilitado para proteger tu aplicacion:
| Tier | Peticiones/segundo | Burst |
|---|---|---|
| Gratuito | 100 | 200 |
Si un cliente excede el rate limit, recibe una respuesta HTTP 429 Too Many Requests.
Multiples servicios publicos
Puedes exponer multiples servicios desde el mismo proyecto:
{
"services": {
"api": {
"type": "app",
"port": 3000,
"public": true
},
"docs": {
"type": "app",
"port": 8080,
"public": true
},
"worker": {
"type": "app",
"port": 9000
}
}
}
Esto crea:
https://api-{slug}.swisblade.com— publicohttps://docs-{slug}.swisblade.com— publicoworker— solo interno, accesible por otros servicios viaWORKER_URL
Servicios privados
Los servicios sin public: true solo son accesibles:
- Por otros servicios en el mismo proyecto via
connects_to - A traves de la red interna de Docker usando el nombre del servicio como hostname
No son accesibles desde internet.