Sitios y alias en Jitterbit App Builder
Descripción general
En una instalación predeterminada, App Builder acepta y responde a solicitudes HTTP sin importar la URL. Esto es conveniente al comenzar, pero puede llevar a problemas más adelante. Los problemas surgen de los diferentes tratamientos de las URLs.
- Las cookies HTTP pueden estar restringidas a una ruta específica, por ejemplo,
/Vinyl
. El navegador web del cliente trata las rutas de las cookies como sensibles a mayúsculas; el servidor web, puede no hacerlo. - De manera similar, los proveedores de autenticación externos pueden tratar la ruta como sensible a mayúsculas al validar URLs de redirección como
https://example.com/Vinyl/signin-SAML
. - Además, el navegador web del cliente no permitirá que el servidor de aplicaciones sobrescriba una cookie insegura con una cookie segura.
Para evitar estos y otros problemas, los administradores deben tomar medidas para canonizar la URL. Aunque esto se puede lograr a través de reglas de reescritura del servidor web, App Builder proporciona soporte para la canonización de URLs a través de la función de Sitios y Alias.
Sitios
Un sitio define una URL canónica. Una instalación predeterminada incluye un solo sitio. El sitio no tiene una URL específica. En cambio, la URL se infiere de la solicitud HTTP.
Es posible definir múltiples sitios y, por lo tanto, múltiples URLs canónicas. Esto puede ser útil, por ejemplo, al enmarcar una aplicación de App Builder. Ver Enmarcado a continuación.
Solo se puede configurar un sitio como el sitio "predeterminado". El sitio predeterminado se utiliza al determinar la URL canónica. Ver Coincidencia a continuación.
Alias
Un sitio puede tener cero o más alias. Un alias es una URL alternativa, no canónica, que se puede usar para acceder a la instancia de App Builder.
Por ejemplo, la instancia de App Builder puede haberse publicado en la dirección interna https://machinename/Vinyl
antes de ser publicada en la dirección externa https://example.com/Vinyl
. La dirección interna se puede configurar como un alias para la dirección externa. Si la opción Redirigir está habilitada, App Builder redirigirá automáticamente los navegadores de los clientes de la dirección interna a la dirección externa.
Configuración
Para gestionar Sitios y Alias, comienza iniciando sesión en App Builder como administrador, luego:
- Cambia a la aplicación App Builder IDE.
- En el panel Conectar, haz clic en el botón Proveedores de Seguridad.
- En el panel Configuración, haz clic en el botón Gestionar Sitios.
Los sitios se componen de las siguientes propiedades:
- URL - URL canónica completamente calificada. Ejemplo:
https://example.com/Vinyl
. - Predeterminado - Indica si el sitio se trata como el sitio predeterminado al hacer coincidir una solicitud HTTP con un sitio. Consulta Coincidencia a continuación.
- Redirigir - Indica que App Builder debe redirigir los navegadores de los clientes si una solicitud HTTP coincide con el sitio (o uno de los alias del sitio) pero no coincide con la URL canónica. Consulta Redirigir a continuación.
- Alias - Lista de URLs alternativas asociadas con el sitio. Estas se utilizan para hacer coincidir una solicitud HTTP con un sitio. Consulta Coincidencia a continuación.
Para hacer que un sitio sea el sitio "predeterminado", haz clic en el botón Hacer Predeterminado. Ten en cuenta que este botón solo es visible si el sitio no es ya el sitio predeterminado.
Canonicalización
La canonicalización consta de dos pasos. Primero, App Builder hace coincidir la solicitud HTTP con un sitio. Luego, App Builder redirige el navegador web del cliente a la URL canónica si es necesario.
Coincidencia
Cuando App Builder recibe una solicitud HTTP, intenta hacer coincidir la URL con un sitio o alias. App Builder comienza realizando una coincidencia "flexible". Una coincidencia flexible considera los siguientes criterios:
- Host - Nombre de host HTTP. Ejemplo:
example.com
- Puerto - Número de puerto HTTP. Ejemplo:
80
,443
- Ruta - Componente de ruta de la URL. No distingue entre mayúsculas y minúsculas. Ejemplo:
/Vinyl
.
Ten en cuenta que App Builder no considera el esquema en esta etapa.
Para los propósitos de una coincidencia flexible, las siguientes URLs se consideran equivalentes:
http://example.com/vinyl
- Esquema HTTP, ruta en minúsculas.https://example.com/Vinyl
- Esquema HTTPS, ruta en mayúsculas y minúsculas.
Ten en cuenta que este algoritmo no permite que un sitio de App Builder exista dentro de otro. No se admite lo siguiente:
https://example.com/Vinyl
https://example.com/Vinyl/Vinyl2
App Builder elige la mejor coincidencia con la siguiente precedencia:
- Si la URL coincide con un sitio, se selecciona el sitio.
- Si la URL coincide con un alias, se selecciona el sitio del alias.
- De lo contrario, se selecciona el sitio predeterminado.
Redirect
Una vez que se ha elegido el sitio, App Builder determina si se debe permitir que la solicitud continúe o si se debe emitir una redirección en su lugar.
- Si la opción Redirect está deshabilitada, se permite que la solicitud continúe.
- Si la opción Redirect está habilitada y la URL de la solicitud no coincide con la URL del sitio, App Builder abortará la solicitud y responderá con una redirección HTTP.
En esta etapa, App Builder realiza una coincidencia "estricta". Una coincidencia estricta difiere de la coincidencia flexible en que:
- La ruta se trata como sensible a mayúsculas y minúsculas.
- El esquema se considera.
A efectos de una coincidencia estricta, las siguientes URLs no se consideran equivalentes:
http://example.com/vinyl
- Esquema HTTP, ruta en minúsculas.https://example.com/Vinyl
- Esquema HTTPS, ruta en mezcla de mayúsculas y minúsculas.
Si la URL de la solicitud HTTP no coincide con la URL del sitio, App Builder responde con una redirección.
Reverse proxies and load balancers
App Builder admite proxies inversos y balanceadores de carga que terminan la conexión SSL antes del servidor web. Estos entornos requieren configuración adicional. Consulte Reverse proxies para más información.
Use cases
Require HTTPS
Cada instancia de App Builder DEBE estar asegurada utilizando HTTPS. La conexión segura puede ser terminada en el servidor web o en un proxy inverso. De cualquier manera, una vez configurado, se recomienda encarecidamente a los administradores que exijan a todos los clientes conectarse con HTTPS.
Esto se puede lograr con sitios y alias. Establezca la URL del sitio para que coincida con la URL segura, por ejemplo, https://example.com/Vinyl
, y habilite la opción Redirect.
Revise la información sobre Proxies Inversos y Balanceadores de Carga al usar HTTPS
Framing
App Builder depende de las cookies HTTP. Los navegadores web suelen bloquear las cookies de terceros. Esto puede causar problemas al renderizar App Builder en un marco HTML.
Por ejemplo, si el sitio de enmarcado se publica en la siguiente URL:
https://registration.example.com/
Y App Builder se publica en un dominio diferente:
https://vinyl.example.net/
El navegador web tratará cualquier cookie establecida por App Builder como cookies de terceros y las bloqueará en consecuencia. Para solucionar este problema, publica App Builder en un subdominio del dominio del sitio de enmarcado.
https://vinyl.registration.example.com/
Crea un sitio en App Builder con esta URL. No lo hagas el sitio Predeterminado. Habilita la opción Redirigir para requerir HTTPS.