Aloja tus documentos en una subcarpeta con Vercel
Siga esta guía para alojar su centro de ayuda de Ferndesk en una subcarpeta personalizada (como yourdomain.com/help) utilizando el proxy de origen externo de Vercel.
Esto toma aproximadamente 10 minutos y requiere un proyecto de Vercel donde pueda agregar un archivo de configuración vercel.json.
¿Se ha atascado? Contacte con [email protected] y le ayudaremos a completar su configuración.
Requisitos previos
Un espacio de trabajo de Ferndesk con acceso de administrador
Un proyecto de Vercel que sirva su sitio web principal
Acceso para agregar un archivo
vercel.jsonen la raíz de su proyecto
Paso 1: Configurar la subcarpeta en Ferndesk
Primero, configure su centro de ayuda de Ferndesk para usar una ruta de subcarpeta personalizada.
Open Help Center settings
Inicie sesión en su espacio de trabajo de Ferndesk, expanda Centro de ayuda en la barra lateral izquierda, luego haga clic en Personalizar.
Select Custom sub-folder
Haga clic en Dominio personalizado.
Seleccione la opción Subcarpeta personalizada.
Enter your domain and subfolder
Ingrese su dominio en el campo Dominio (por ejemplo, www.example.com), luego ingrese la ruta de la subcarpeta deseada en el campo Subdirectorio (por ejemplo, /help o /docs).
Save and copy the Ferndesk host
Haga clic en Configurar subcarpeta. Una vez configurada, copie el host proxy de Ferndesk (por ejemplo, acme.hc.ferndesk.com); lo necesitará para la configuración de Vercel.
Use su nombre de host de producción de Vercel exacto (por ejemplo, www.example.com), no un nombre de host de despliegue de vista previa. Si el nombre de host cambia después del primer despliegue, pueden persistir entradas de caché obsoletas.
Paso 2: Agregar la configuración de enrutamiento de Vercel
Cree o update el archivo vercel.json en la raíz de su proyecto para redirigir las solicitudes a Ferndesk. Esta configuración utiliza las routes de Vercel con transformaciones de encabezados de solicitud para enviar a Ferndesk la ruta base y la información de host requeridas.
Create or open vercel.json
Si aún no tiene un archivo vercel.json en la raíz de su proyecto, cree uno. Si ya lo tiene, ábralo para editarlo.
Add the configuration
Pegue la configuración a continuación en su archivo vercel.json. Reemplace los marcadores de posición con sus valores reales:
PUBLIC_HOST — su nombre de host de producción de Vercel (por ejemplo,
www.example.com)FERNDESK_HOST — el host de Ferndesk que copió del panel de Ferndesk (por ejemplo,
acme.hc.ferndesk.com)BASE_PATH — la ruta de su subcarpeta, incluyendo la barra diagonal inicial (por ejemplo,
/help)
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"headers": [
{
"source": "/_ferndesk",
"headers": [
{ "key": "x-vercel-enable-rewrite-caching", "value": "0" }
]
},
{
"source": "/_ferndesk/:match*",
"headers": [
{ "key": "x-vercel-enable-rewrite-caching", "value": "0" }
]
},
{
"source": "__BASE_PATH__",
"headers": [
{ "key": "x-vercel-enable-rewrite-caching", "value": "0" }
]
},
{
"source": "__BASE_PATH__/:match*",
"headers": [
{ "key": "x-vercel-enable-rewrite-caching", "value": "0" }
]
}
],
"routes": [
{
"src": "/_ferndesk",
"dest": "https://__FERNDESK_HOST____BASE_PATH__/_ferndesk",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
},
{
"src": "/_ferndesk/(.*)",
"dest": "https://__FERNDESK_HOST____BASE_PATH__/_ferndesk/$1",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
},
{
"src": "__BASE_PATH__/_ferndesk",
"dest": "https://__FERNDESK_HOST____BASE_PATH__/_ferndesk",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
},
{
"src": "__BASE_PATH__/_ferndesk/(.*)",
"dest": "https://__FERNDESK_HOST____BASE_PATH__/_ferndesk/$1",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
},
{
"src": "__BASE_PATH__",
"dest": "https://__FERNDESK_HOST__/",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
},
{
"src": "__BASE_PATH__/(.*)",
"dest": "https://__FERNDESK_HOST__/$1",
"transforms": [
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-base-path" }, "args": "__BASE_PATH__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-forwarded-host" }, "args": "__PUBLIC_HOST__" },
{ "type": "request.headers", "op": "set", "target": { "key": "x-ferndesk-original-host" }, "args": "__PUBLIC_HOST__" }
]
}
]
}Deploy your project
Realice un commit y envíe sus cambios para activar un nuevo despliegue en Vercel. La nueva configuración de enrutamiento surtirá efecto una vez que se complete el despliegue.
La sección headers desactiva el almacenamiento en caché de reescritura de Vercel en las rutas de Ferndesk. Esto evita que se almacenen en caché respuestas Not found obsoletas cuando se solicitan activos o páginas de Ferndesk antes de que el proxy esté completamente configurado.
Paso 3: Verificar la configuración
Pruebe que su centro de ayuda sea ahora accesible en la ruta de su subcarpeta personalizada.
Open your subfolder URL
Navegue a https://yourdomain.com/help (o la ruta de la subcarpeta que haya elegido) en su navegador.
Check that the help center loads
Debería ver su centro de ayuda de Ferndesk con su marca y contenido.
Test navigation and assets
Navegue por algunos artículos para confirmar que la navegación funciona. Verifique que los estilos, las imágenes y el JavaScript se carguen correctamente.
Si su centro de ayuda se carga con la navegación y los estilos funcionando, el proxy inverso está configurado correctamente. Sus clientes ahora pueden acceder a su centro de ayuda en la ruta de su subcarpeta personalizada.
Resolución de problemas
Problema | Causa | Solución |
|---|---|---|
Error 404 Not Found | Rutas no configuradas o despliegue incompleto | Verifique que |
Página en blanco o estilos rotos | El host de Ferndesk o la ruta base son incorrectos | Verifique nuevamente que |
Los activos o el CSS no se cargan después de la configuración inicial | Vercel almacenó en caché una respuesta obsoleta | Vuelva a desplegar su proyecto de Vercel para borrar las respuestas almacenadas en caché. La configuración de |
El centro de ayuda funciona pero el nombre de host no coincide | Host público incorrecto en las rutas | Asegúrese de que |
¿Algo salió mal? Contáctenos en [email protected] y le ayudaremos a completar su configuración.
Eliminar la subcarpeta
Para dejar de usar la subcarpeta personalizada y volver a su URL predeterminada de Ferndesk:
Remove the domain in Ferndesk
En Ferndesk, vaya a Centro de ayuda → Personalizar → Dominio personalizado y haga clic en Eliminar dominio.
Remove the Vercel routes
Elimine o comente las entradas de headers y routes relacionadas con Ferndesk en su archivo vercel.json, luego vuelva a desplegar.