-
-
-
Configuración de Citrix ADC para Citrix Virtual Apps and Desktops
-
Preferencia de zona alimentada de Equilibrio de carga de servidor global (GSLB)
-
Implemente una plataforma de publicidad digital en AWS con Citrix ADC
-
Mejorar el análisis de Clickstream en AWS mediante Citrix ADC
-
Citrix ADC en una nube privada administrada por Microsoft Windows Azure Pack y Cisco ACI
-
-
Implementar una instancia de Citrix ADC VPX
-
Instalar una instancia de Citrix ADC VPX en un servidor desnudo
-
Instalar una instancia de Citrix ADC VPX en Citrix Hypervisor
-
Instalar una instancia de Citrix ADC VPX en la nube de VMware en AWS
-
Instalar una instancia de Citrix ADC VPX en servidores Microsoft Hyper-V
-
Instalar una instancia de Citrix ADC VPX en la plataforma Linux-KVM
-
Requisitos previos para instalar dispositivos virtuales Citrix ADC VPX en la plataforma Linux-KVM
-
Aprovisionamiento de Citrix ADC Virtual Appliance mediante OpenStack
-
Aprovisionamiento de Citrix ADC Virtual Appliance mediante Virtual Machine Manager
-
Configuración de Citrix ADC Virtual Appliances para utilizar la interfaz de red SR-IOV
-
Configuración de Citrix ADC Virtual Appliances para utilizar la interfaz de red PCI Passthrough
-
Aprovisionamiento de Citrix ADC Virtual Appliance mediante el programa virsh
-
Aprovisionamiento de Citrix ADC Virtual Appliance con SR-IOV, en OpenStack
-
-
Implementar una instancia de Citrix ADC VPX en AWS
-
Implementar una instancia independiente de Citrix ADC VPX en AWS
-
Servidores de equilibrio de carga en diferentes zonas de disponibilidad
-
Implementar un par de alta disponibilidad VPX con direcciones IP privadas en diferentes zonas de AWS
-
Agregar el servicio de escalado automático de AWS de back-end
-
Configurar una instancia de Citrix ADC VPX para utilizar la interfaz de red SR-IOV
-
Configurar una instancia de Citrix ADC VPX para utilizar redes mejoradas con AWS ENA
-
Implementar una instancia de Citrix ADC VPX en Microsoft Azure
-
Arquitectura de red para instancias de Citrix ADC VPX en Microsoft Azure
-
Configurar varias direcciones IP para una instancia independiente de Citrix ADC VPX
-
Configurar una configuración de alta disponibilidad con varias direcciones IP y NIC
-
Configurar una instancia de Citrix ADC VPX para usar redes aceleradas de Azure
-
Configurar nodos HA-INC mediante la plantilla de alta disponibilidad de Citrix con ILB de Azure
-
Configurar GSLB en una configuración de alta disponibilidad en espera activa
-
Configurar grupos de direcciones (IIP) para un dispositivo Citrix Gateway
-
Scripts de PowerShell adicionales para la implementación de Azure
-
Implementar una instancia de Citrix ADC VPX en Google Cloud Platform
-
Automatizar la implementación y las configuraciones de Citrix ADC
-
Soluciones para proveedores de servicios de telecomunicaciones
-
Tráfico de plano de control de equilibrio de carga basado en los protocolos de diameter, SIP y SMPP
-
Utilización del ancho de banda mediante la funcionalidad de redirección de caché
-
Optimización TCP de Citrix ADC
-
Autenticación, autorización y auditoría del tráfico de aplicaciones
-
Cómo funciona la autenticación, la autorización y la auditoría
-
Componentes básicos de configuración de autenticación, autorización y auditoría
-
Autorizar el acceso de usuario a los recursos de la aplicación
-
Citrix ADC como proxy del servicio de federación de Active Directory
-
Citrix Gateway local como proveedor de identidades para Citrix Cloud
-
Compatibilidad de configuración para el atributo de cookie SameSite
-
Configuración de autenticación, autorización y auditoría para protocolos de uso común
-
Solucionar problemas relacionados con la autenticación y la autorización
-
-
-
-
Configuración de la expresión de directiva avanzada: Introducción
-
Expresiones de directiva avanzadas: Trabajar con fechas, horas y números
-
Expresiones de directiva avanzadas: Análisis de datos HTTP, TCP y UDP
-
Expresiones de directiva avanzadas: Análisis de certificados SSL
-
Expresiones de directivas avanzadas: Direcciones IP y MAC, rendimiento, ID de VLAN
-
Expresiones de directiva avanzadas: Funciones de análisis de flujo
-
Ejemplos de resumen de expresiones y directivas de sintaxis predeterminadas
-
Ejemplos de tutoriales de directivas de sintaxis predeterminadas para reescribir
-
Migración de las reglas mod_rewrite de Apache a la sintaxis predeterminada
-
-
-
-
Traducir la dirección IP de destino de una solicitud a la dirección IP de origen
-
-
Compatibilidad con la configuración de Citrix ADC en un clúster
-
-
Administración del clúster de Citrix ADC
-
Grupos de nodos para configuraciones manchadas y parcialmente rayadas
-
Desactivación de la dirección en el plano anterior del clúster
-
Quitar un nodo de un clúster implementado mediante la agregación de vínculos de clúster
-
Supervisión de la configuración del clúster mediante SNMP MIB con enlace SNMP
-
Supervisión de errores de propagación de comandos en una implementación de clúster
-
Compatibilidad con logotipos listos para IPv6 para clústeres
-
Enlace de interfaz VRRP en un clúster activo de un solo nodo
-
Casos de configuración y uso del clúster
-
Migración de una configuración de alta disponibilidad a una configuración de clúster
-
Interfaces comunes para cliente y servidor e interfaces dedicadas para plano anterior
-
Conmutador común para cliente y servidor y conmutador dedicado para plano anterior
-
Servicios de supervisión en un clúster mediante supervisión de rutas
-
Copia de seguridad y restauración de la configuración del clúster
-
-
-
Caso de uso 1: Configurar DataStream para una arquitectura de base de datos primaria/secundaria
-
Caso de uso 2: Configurar el método de token de equilibrio de carga para DataStream
-
Caso de uso 3: Registrar transacciones MSSQL en modo transparente
-
Caso de uso 4: Equilibrio de carga específico de base de datos
-
-
Configurar Citrix ADC como un solucionador de stub-aware no validador de seguridad
-
Soporte de tramas jumbo para DNS para manejar respuestas de tamaños grandes
-
Configurar el almacenamiento en caché negativo de registros DNS
-
Equilibrio de carga global del servidor
-
Configurar entidades GSLB individualmente
-
Caso de uso: Implementación de un grupo de servicios de escalado automático basado en direcciones IP
-
-
Estado de servicio y servidor virtual de equilibrio de carga
-
Insertar atributos de cookie a las cookies generadas por ADC
-
Proteger una configuración de equilibrio de carga contra fallos
-
Administrar el tráfico del cliente
-
Configurar servidores virtuales de equilibrio de carga sin sesión
-
Reescritura de puertos y protocolos para la redirección HTTP
-
Insertar la dirección IP y el puerto de un servidor virtual en el encabezado de solicitud
-
Usar una IP de origen especificada para la comunicación de back-end
-
Establecer un valor de tiempo de espera para las conexiones de cliente inactivas
-
Administrar el tráfico del cliente sobre la base de la tasa de tráfico
-
Usar un puerto de origen de un intervalo de puertos especificado para la comunicación de back-end
-
Configurar la persistencia de IP de origen para la comunicación de back-end
-
-
Configuración avanzada de equilibrio de carga
-
Incremente gradualmente la carga en un nuevo servicio con inicio lento a nivel de servidor virtual
-
Proteja las aplicaciones en servidores protegidos contra sobretensiones de tráfico
-
Habilitar la limpieza de las conexiones de servidor virtual y servicio
-
Habilitar o inhabilitar la sesión de persistencia en los servicios TROFS
-
Habilitar la comprobación externa del estado de TCP para servidores virtuales UDP
-
Mantener la conexión de cliente para varias solicitudes de cliente
-
Inserte la dirección IP del cliente en el encabezado de solicitud
-
Usar la dirección IP de origen del cliente al conectarse al servidor
-
Configurar el puerto de origen para las conexiones del lado del servidor
-
Establecer un límite en el número de solicitudes por conexión al servidor
-
Establecer un valor de umbral para los monitores enlazados a un servicio
-
Establecer un valor de tiempo de espera para las conexiones de cliente inactivas
-
Establecer un valor de tiempo de espera para las conexiones de servidor inactivas
-
Establecer un límite en el uso del ancho de banda por parte de los clientes
-
Conservar el identificador de VLAN para la transparencia de VLAN
-
-
Configurar monitores en una configuración de equilibrio de carga
-
Configurar el equilibrio de carga para los protocolos de uso común
-
Caso de uso 3: Configurar el equilibrio de carga en el modo de retorno directo del servidor
-
Caso de uso 6: Configurar el equilibrio de carga en modo DSR para redes IPv6 mediante el campo TOS
-
Caso de uso 7: Configurar el equilibrio de carga en modo DSR mediante IP sobre IP
-
Caso de uso 8: Configurar el equilibrio de carga en modo de un brazo
-
Caso de uso 9: Configurar el equilibrio de carga en el modo en línea
-
Caso de uso 10: Equilibrio de carga de servidores del sistema de detección de intrusiones
-
Caso de uso 11: Aislamiento del tráfico de red mediante directivas de escucha
-
Caso de uso 12: Configurar XenDesktop para el equilibrio de carga
-
Caso de uso 13: Configurar XenApp para el equilibrio de carga
-
Caso de uso 14: Asistente para ShareFile para equilibrio de carga Citrix ShareFile
-
-
-
Compatibilidad con el protocolo TLSv1.3 tal como se define en RFC 8446
-
Tabla compatibilidad con certificados de servidor en el dispositivo ADC
-
Compatibilidad con plataformas basadas en chips Intel Coleto SSL
-
Soporte para el módulo de seguridad de hardware de red Gemalto SafeNet
-
-
-
-
-
Configuración de un túnel de conector de CloudBridge entre dos centros de datos
-
Configuración de CloudBridge Connector entre Datacenter y AWS Cloud
-
Configuración de un túnel de conector de CloudBridge entre un centro de datos y Azure Cloud
-
Configuración de CloudBridge Connector Tunnel entre Datacenter y SoftLayer Enterprise Cloud
-
Diagnóstico y solución de problemas del túnel del conector de CloudBridge
-
-
Puntos a tener en cuenta para una configuración de alta disponibilidad
-
Sincronizar archivos de configuración en una configuración de alta disponibilidad
-
Restricción del tráfico de sincronización de alta disponibilidad a una VLAN
-
Configuración de nodos de alta disponibilidad en diferentes subredes
-
Limitación de fallas causadas por monitores de ruta en modo no INC
-
Configuración del conjunto de interfaces de conmutación por error
-
Descripción del cálculo de comprobación de estado de alta disponibilidad
-
Administración de mensajes de latido de alta disponibilidad en un dispositivo Citrix ADC
-
Quitar y reemplazar un dispositivo Citrix ADC en una instalación de alta disponibilidad
-
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已动态机器翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
This content has been machine translated dynamically.
This content has been machine translated dynamically.
This content has been machine translated dynamically.
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.
Este artigo foi traduzido automaticamente.
这篇文章已经过机器翻译.放弃
Translation failed!
Migración de reglas mod_rewrite de Apache a la sintaxis predeterminada
El servidor HTTP Apache proporciona un motor conocido como mod_rewrite para reescribir direcciones URL de solicitud HTTP. Si migra las reglas mod_rewrite de Apache a Citrix ADC, aumentará el rendimiento del servidor back-end. Además, dado que el dispositivo Citrix ADC normalmente equilibra la carga varios (a veces miles de) servidores web, después de migrar las reglas al Citrix ADC tendrá un único punto de control para estas reglas.
A continuación se presentan ejemplos de funciones mod_rewrite y traducciones de estas funciones en directivas Reescritura y Responder en Citrix ADC.
Conversión de variaciones de URL en URL canónicas
En algunos servidores web puede tener varias direcciones URL para un recurso. Aunque las URL canónicas deben usarse y distribuirse, otras URL pueden existir como accesos directos o URL internas. Puede asegurarse de que los usuarios vean la URL canónica independientemente de la URL utilizada para realizar una solicitud inicial.
En los ejemplos siguientes, la URL /~user se convierte en /u/user.
Solución mod_rewrite de Apache para convertir una URL
RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2[R]
Solución Citrix ADC para convertir una URL
add responder action act1 redirect '"/u/"+HTTP.REQ.URL.AFTER_STR("/~")' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.STARTSWITH("/~") && HTTP.REQ.URL.LENGTH.GT(2)' act1
bind responder global pol1 100
Conversión de variaciones de nombres de host en nombres de host canónicos
Puede imponer el uso de un nombre de host determinado para llegar a un sitio. Por ejemplo, puede imponer el uso de www.example.com en lugar de example.com.
Solución mod_rewrite Apache para imponer un nombre de host particular para sitios que se ejecutan en un puerto distinto a 80
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R]
Solución mod_rewrite Apache para imponer un nombre de host particular para sitios que se ejecutan en el puerto 80
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R]
Solución Citrix ADC para imponer un nombre de host concreto para sitios que se ejecutan en un puerto distinto de 80
add responder action act1 redirect '"http://www.example.com:"+CLIENT.TCP.DSTPORT+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 '!HTTP.REQ.HOSTNAME.CONTAINS("www.example.com")&&!HTTP.REQ.HOSTNAME.EQ("")&&!HTTP.REQ.HOSTNAME.PORT.EQ(80)&&HTTP.REQ.HOSTNAME.CONTAINS("example.com")' act1
bind responder global pol1 100 END
Solución Citrix ADC para imponer un nombre de host concreto para sitios que se ejecutan en el puerto 80
add responder action act1 redirect '"http://www.example.com"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 '!HTTP.REQ.HOSTNAME.CONTAINS("www.example.com")&&!HTTP.REQ.HOSTNAME.EQ("")&&HTTP.REQ.HOSTNAME.PORT.EQ(80)&&HTTP.REQ.HOSTNAME.CONTAINS("example.com")' act1
bind responder global pol1 100 END
Mover una raíz de documento
Por lo general, la raíz del documento de un servidor web se basa en la URL “/”. Sin embargo, la raíz del documento puede ser cualquier directorio. Puede redirigir el tráfico a la raíz del documento si cambia del directorio de nivel superior “/” a otro directorio.
En los ejemplos siguientes, cambie la raíz del documento de / a /e/www. Los dos primeros ejemplos simplemente reemplazan una cadena por otra. El tercer ejemplo es más universal porque, junto con la sustitución del directorio raíz, conserva el resto de la URL (la ruta y la cadena de consulta), por ejemplo, redirigiendo /example/file.html a /e/www/example/file.html.
Solución mod_rewrite de Apache para mover la raíz del documento
RewriteEngine on
RewriteRule ^/$ /e/www/ [R]
Solución Citrix ADC para mover la raíz del documento
add responder action act1 redirect '"/e/www/"' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.EQ("/")' act1
bind responder global pol1 100
Solución Citrix ADC para mover la raíz del documento y agregar información de ruta a la solicitud
add responder action act1 redirect '"/e/www"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 '!HTTP.REQ.URL.STARTSWITH("/e/www/")' act1
bind responder global pol1 100 END
Mover directorios particulares a un nuevo servidor web
Es posible que quiera redirigir las solicitudes que se envían a directorios particulares de un servidor web a otro servidor web. Por ejemplo, si un nuevo servidor web está reemplazando uno antiguo con el tiempo, a medida que migra los directorios principales a la nueva ubicación, deberá redirigir las solicitudes de los directorios principales migrados al nuevo servidor web.
En los ejemplos siguientes, el nombre de host del nuevo servidor web es nuevoservidor.
Solución mod_rewrite Apache para redirigir a otro servidor web
RewriteRule ^/(.+) http://newserver/$1 [R,L]
Solución Citrix ADC para redirigir a otro servidor web (método 1)
add responder action act1 redirect '"http://newserver"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.REGEX_MATCH(re#^/(.+)#)' act1
bind responder global pol1 100 END
Solución Citrix ADC para redirigir a otro servidor web (método 2)
add responder action act1 redirect '"http://newserver"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.LENGTH.GT(1)' act1
bind responder global pol1 100 END
Trabajar con directorios particulares estructurados
Normalmente, un sitio con miles de usuarios tiene un diseño de directorio principal estructurado. Por ejemplo, cada directorio particular puede residir bajo un subdirectorio que se denomina mediante el primer carácter del nombre de usuario. Por ejemplo, el directorio de inicio de jsmith (/~jsmith/anypath) podría ser /home/j/smith/.www/anypath, y el directorio de inicio de rvalveti (/~rvalveti/anypath) podría ser /home/r/rvalveti/.www/anypath.
Los siguientes ejemplos redirigen las solicitudes al directorio principal.
Solución mod_rewrite Apache para directorios particulares estructurados
RewriteRule ^/~(([a-z])[a-z0-9]+)(.*) /home/$2/$1/.www$3
Solución Citrix ADC para directorios particulares estructurados
Solución Citrix ADC para directorios particulares estructurados
add rewrite action act1 replace 'HTTP.REQ.URL' '"/home/"+ HTTP.REQ.URL.AFTER_STR("~").PREFIX(1)+"/"+ HTTP.REQ.URL.AFTER_STR("~").BEFORE_STR("/")+"/.www"+HTTP.REQ.URL.SKIP('/',1)' -bypassSafetyCheck yes
add rewrite policy pol1 'HTTP.REQ.URL.PATH.STARTSWITH("/~")' act1
bind rewrite global pol1 100
Redirigir direcciones URL no válidas a otros servidores web
Si una dirección URL no es válida, se debe redirigir a otro servidor web. Por ejemplo, debe redirigir a otro servidor web si un archivo que se denomina en una dirección URL no existe en el servidor que se denomina en la dirección URL.
En Apache, puede realizar esta comprobación mediante mod_rewrite. En Citrix ADC, una llamada HTTP puede buscar un archivo en un servidor ejecutando un script en el servidor. En los siguientes ejemplos de Citrix ADC, un script denominado file_check.cgi procesa la URL y utiliza esta información para comprobar la presencia del archivo de destino en el servidor. El script devuelve TRUE o FALSE, y Citrix ADC utiliza el valor que devuelve el script para validar la directiva.
Además de realizar la redirección, Citrix ADC puede agregar encabezados personalizados o, como en el segundo ejemplo de Citrix ADC, puede agregar texto en el cuerpo de la respuesta.
Solución mod_rewrite de Apache para redirección si una URL es incorrecta
RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f
RewriteRule ^(.+) http://webserverB.com/$1 [R]
Solución Citrix ADC para redirección si una dirección URL es incorrecta (método 1)
add HTTPCallout Call
set policy httpCallout Call -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url.path -headers Name("ddd")
add responder action act1 redirect '"http://webserverB.com"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol1 '!HTTP.REQ.HEADER("Name").EXISTS && !SYS.HTTP_CALLOUT(call)' act1
bind responder global pol1 100
Solución Citrix ADC para redirección si una dirección URL es incorrecta (método 2)
add HTTPCallout Call
set policy httpCallout Call -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url.path -headers Name("ddd")
add responder action act1 respondwith '"HTTP/1.1 302 Moved Temporarily\r\nLocation: http://webserverB.com"+HTTP.REQ.URL+"\r\n\r\nHTTPCallout Used"' -bypassSafetyCheck yes
add responder policy pol1 '!HTTP.REQ.HEADER("Name").EXISTS && !SYS.HTTP_CALLOUT(call)' act1
bind responder global pol1 100
Volver a escribir una URL en función del tiempo
Puede volver a escribir una URL en función de la hora. Los ejemplos siguientes cambian una solicitud de example.html a example.day.html o example.night.html, en función de la hora del día.
Solución mod_rewrite Apache para reescribir una URL basada en la hora
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900
RewriteRule ^example.html$ example.day.html [L]
RewriteRule ^example.html$ example.night.html
Solución Citrix ADC para reescribir una URL en función de la hora
add rewrite action act1 insert_before 'HTTP.REQ.URL.PATH.SUFFIX('.',0)' '"day."'
add rewrite action act2 insert_before 'HTTP.REQ.URL.PATH.SUFFIX('.',0)' '"night."'
add rewrite policy pol1 'SYS.TIME.WITHIN(LOCAL 07h 00m,LOCAL 18h 59m)' act1
add rewrite policy pol2 'true' act2
bind rewrite global pol1 101
bind rewrite global pol2 102
Redirigir a un nuevo nombre de archivo (Invisible para el usuario)
Si cambia el nombre de una página web, puede seguir siendo compatible con la dirección URL antigua para la compatibilidad con versiones anteriores y evitar que los usuarios reconozcan que se ha cambiado el nombre de la página.
En los dos primeros ejemplos siguientes, el directorio base es /~quux/. El tercer ejemplo admite cualquier directorio base y la presencia de cadenas de consulta en la URL.
Solución mod_rewrite Apache para administrar un cambio de nombre de archivo en una ubicación fija
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^foo.html$ bar.html
Solución Citrix ADC para administrar un cambio de nombre de archivo en una ubicación fija
add rewrite action act1 replace 'HTTP.REQ.URL.AFTER_STR("/~quux").SUBSTR("foo.html")' '"bar.html"'
add rewrite policy pol1 'HTTP.REQ.URL.ENDSWITH("/~quux/foo.html")' act1
bind rewrite global pol1 100
Solución Citrix ADC para administrar un cambio de nombre de archivo independientemente del directorio base o las cadenas de consulta en la URL
add rewrite action act1 replace 'HTTP.REQ.URL.PATH.SUFFIX('/',0)' '"bar.html"'
Add rewrite policy pol1 'HTTP.REQ.URL.PATH.CONTAINS("foo.html")' act1
Bind rewrite global pol1 100
Redirigir al nuevo nombre de archivo (URL visible por el usuario)
Si cambia el nombre de una página web, es posible que quiera seguir siendo compatible con la dirección URL antigua para la compatibilidad con versiones anteriores y permitir a los usuarios ver que se cambió el nombre de la página cambiando la dirección URL que se muestra en el explorador.
En los dos primeros ejemplos siguientes, la redirección se produce cuando el directorio base es /~quux/. El tercer ejemplo admite cualquier directorio base y la presencia de cadenas de consulta en la URL.
Solución mod_rewrite Apache para cambiar el nombre del archivo y la URL mostrada en el explorador
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^old.html$ new.html [R]
Solución Citrix ADC para cambiar el nombre de archivo y la URL mostrada en el explorador
add responder action act1 redirect 'HTTP.REQ.URL.BEFORE_STR("foo.html")+"new.html"' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.ENDSWITH("/~quux/old.html")' act1
bind responder global pol1 100
Solución Citrix ADC para cambiar el nombre de archivo y la URL mostrada en el explorador, independientemente del directorio base o las cadenas de consulta en la URL
add responder action act1 redirect 'HTTP.REQ.URL.PATH.BEFORE_STR("old.html")+"new.html"+HTTP.REQ.URL.AFTER_STR("old.html")' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.PATH.CONTAINS("old.html")' act1
bind responder global pol1 100
Acomodar contenido dependiente del explorador
Para adaptarse a las limitaciones específicas del explorador, al menos para páginas importantes de nivel superior, a veces es necesario establecer restricciones en el tipo y la versión del explorador. Por ejemplo, es posible que quiera establecer una versión máxima para las variantes de Netscape más recientes, una versión mínima para los exploradores Lynx y una versión de funciones promedio para todos los demás.
Los siguientes ejemplos actúan sobre el encabezado HTTP “User-Agent”, de modo que si este encabezado comienza con “Mozilla/3”, la página MyPage.html se vuelve a escribir en MyPage.ns.html. Si el explorador es “Lynx” o “Mozilla” versión 1 o 2, la URL se convierte en MyPage.20.html. Todos los demás exploradores reciben la página MyPage.32.html.
Solución mod_rewrite de Apache para configuraciones específicas del explorador
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.*
RewriteRule ^MyPage.html$ MyPage.NS.html [L]
RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].*
RewriteRule ^MyPage.html$ MyPage.20.html [L]
RewriteRule ^fMyPage.html$ MyPage.32.html [L]
Citrix ADC solution for browser-specific settings
add patset pat1
bind patset pat1 Mozilla/1
bind Patset pat1 Mozilla/2
bind patset pat1 Lynx
bind Patset pat1 Mozilla/3
add rewrite action act1 insert_before 'HTTP.REQ.URL.SUFFIX' '"NS."'
add rewrite action act2 insert_before 'HTTP.REQ.URL.SUFFIX' '"20."'
add rewrite action act3 insert_before 'HTTP.REQ.URL.SUFFIX' '"32."'
add rewrite policy pol1 'HTTP.REQ.HEADER("User-Agent").STARTSWITH_INDEX("pat1").EQ(4)' act1
add rewrite policy pol2 'HTTP.REQ.HEADER("User-Agent").STARTSWITH_INDEX("pat1").BETWEEN(1,3)' act2
add rewrite policy pol3 '!HTTP.REQ.HEADER("User-Agent").STARTSWITH_ANY("pat1")' act3
bind rewrite global pol1 101 END
bind rewrite global pol2 102 END
bind rewrite global pol3 103 END
Bloquear el acceso de los robots
Puede impedir que un robot recupere páginas de un directorio específico o de un conjunto de directorios para facilitar el tráfico hacia y desde estos directorios. Puede restringir el acceso en función de la ubicación específica o puede bloquear solicitudes basadas en la información de los encabezados HTTP del agente de usuario.
En los ejemplos siguientes, la ubicación web que se va a bloquear es /~quux/foo/arc/, las direcciones IP que se van a bloquear son 123.45.67.8 y 123.45.67.9, y el nombre del robot es NameOfBadRobot.
Solución mod_rewrite Apache para bloquear una ruta y un encabezado User-Agent
RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.*
RewriteCond %{REMOTE_ADDR} ^123.45.67.[8-9]$
RewriteRule ^/~quux/foo/arc/.+ - [F]
Solución Citrix ADC para bloquear una ruta y un encabezado User-Agent
add responder action act1 respondwith '"HTTP/1.1 403 Forbidden\r\n\r\n"'
add responder policy pol1 'HTTP.REQ.HEADER("User_Agent").STARTSWITH("NameOfBadRobot")&&CLIENT.IP.SRC.EQ(123.45.67.8)&&CLIENT.IP.SRC.EQ(123.45.67.9) && HTTP.REQ.URL.STARTSWITH("/~quux/foo/arc")' act1
bind responder global pol1 100
Bloquear el acceso a imágenes en línea
Si encuentra gente que va frecuentemente a su servidor para copiar gráficos en línea para su propio uso (y generar tráfico innecesario), es posible que quiera restringir la capacidad del explorador para enviar un encabezado HTTP Referer.
En el ejemplo siguiente, los gráficos se encuentran en Ejemplo.
Solución mod_rewrite Apache para bloquear el acceso a una imagen en línea
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.\*$
RewriteRule .\*.gif$ - [F]
Solución Citrix ADC para bloquear el acceso a una imagen en línea
add patset pat1
bind patset pat1 .gif
bind patset pat1 .jpeg
add responder action act1 respondwith '"HTTP/1.1 403 Forbidden\r\n\r\n"'
add responder policy pol1 '!HTTP.REQ.HEADER("Referer").EQ("") && !HTTP.REQ.HEADER("Referer").STARTSWITH("http://www.quux-corp.de/~quux/")&&HTTP.REQ.URL.ENDSWITH_ANY("pat1")' act1
bind responder global pol1 100
Creación de vínculos sin extensión
Para evitar que los usuarios conozcan los detalles de las aplicaciones o scripts en el lado del servidor, puede ocultar las extensiones de archivo a los usuarios. Para hacer esto, es posible que quiera admitir enlaces sin extensión. Puede lograr este comportamiento mediante el uso de reglas de reescritura para agregar una extensión a todas las solicitudes, o para agregar extensiones selectivamente a las solicitudes.
Los dos primeros ejemplos siguientes muestran la adición de una extensión a todas las URL de solicitud. En el último ejemplo, se agrega una de las dos extensiones de archivo. Tenga en cuenta que en el último ejemplo, el módulo mod_rewrite puede encontrar fácilmente la extensión de archivo porque este módulo reside en el servidor web. Por el contrario, Citrix ADC debe invocar una llamada HTTP para comprobar la extensión del archivo solicitado en el servidor web. En función de la respuesta de llamada, Citrix ADC agrega la extensión.html o.php a la URL de solicitud.
Nota
En el segundo ejemplo de Citrix ADC, se utiliza una llamada HTTP para consultar un script denominado file_check.cgi alojado en el servidor. Este script comprueba si el argumento que se proporciona en la llamada es un nombre de archivo válido.
Solución mod_rewrite Apache para agregar una extensión.php a todas las solicitudes
RewriteRule ^/?([a-z]+)$ $1.php [L]
Directiva Citrix ADC para agregar una extensión.php a todas las solicitudes
add rewrite action act1 insert_after 'HTTP.REQ.URL' '".php"'
add rewrite policy pol1 'HTTP.REQ.URL.PATH.REGEX_MATCH(re#^/([a-z]+)$#)' act1
bind rewrite global pol1 100
Solución mod_rewrite de Apache para agregar extensiones.html o.php a las solicitudes
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^/?([a-zA-Z0-9]+)$ $1.php [L]
RewriteCond %{REQUEST_FILENAME}.html –f
RewriteRule ^/?([a-zA-Z0-9]+)$ $1.html [L]
Directiva Citrix ADC para agregar extensiones.html o.php a las solicitudes
add HTTPCallout Call_html
add HTTPCallout Call_php
set policy httpCallout Call_html -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url+".html"
set policy httpCallout Call_php -IPAddress 10.102.59.101 -port 80 -hostExpr '"10.102.59.101"' -returnType BOOL -ResultExpr 'HTTP.RES.BODY(100).CONTAINS("True")' -urlStemExpr '"/cgi-bin/file_check.cgi"' -parameters query=http.req.url+".php"
add patset pat1
bind patset pat1 .html
bind patset pat1 .php
bind patset pat1 .asp
bind patset pat1 .cgi
add rewrite action act1 insert_after 'HTTP.REQ.URL.PATH' '".html"'
add rewrite action act2 insert_after "HTTP.REQ.URL.PATH" '".php"'
add rewrite policy pol1 '!HTTP.REQ.URL.CONTAINS_ANY("pat1") && SYS.HTTP_CALLOUT(Call_html)' act1
add rewrite policy pol2 '!HTTP.REQ.URL.CONTAINS_ANY("pat1") && SYS.HTTP_CALLOUT(Call_php)' act2
bind rewrite global pol1 100 END
bind rewrite global pol2 101 END
Redirigir un URI de trabajo a un nuevo formato
Supongamos que tiene un conjunto de direcciones URL de trabajo similares a las siguientes:
/index.php?id=nnnn
Para cambiar estas URL a /nnnn y asegurarse de que los motores de búsqueda actualizan sus índices al nuevo formato URI, debe hacer lo siguiente:
- Redirija los antiguos URI a los nuevos para que los motores de búsqueda actualicen sus índices.
- Vuelva a escribir el nuevo URI en el anterior para que el script index.php se ejecute correctamente.
Para lograr esto, puede insertar código de marcador en la cadena de consulta (asegurándose de que el código de marcador no sea visto por los visitantes) y luego eliminar el código de marcador para el script index.php.
Los siguientes ejemplos redirigen desde un vínculo antiguo a un nuevo formato solo si un marcador no está presente en la cadena de consulta. El vínculo que utiliza el nuevo formato se vuelve a escribir en el formato anterior y se agrega un marcador a la cadena de consulta.
Solución mod_rewrite de Apache
RewriteCond %{QUERY_STRING} !marker
RewriteCond %{QUERY_STRING} id=([-a-zA-Z0-9_+]+)
RewriteRule ^/?index.php$ %1? [R,L]
RewriteRule ^/?([-a-zA-Z0-9_+]+)$ index.php?marker&id=$1 [L]
Citrix ADC solution
add responder action act_redirect redirect 'HTTP.REQ.URL.PATH.BEFORE_STR("index.php")+HTTP.REQ.URL.QUERY.VALUE("id")' -bypassSafetyCheck yes
add responder policy pol_redirect '!HTTP.REQ.URL.QUERY.CONTAINS("marker")&& HTTP.REQ.URL.QUERY.VALUE("id").REGEX_MATCH(re/[-a-zA-Z0-9_+]+/) && HTTP.REQ.URL.PATH.CONTAINS("index.php")' act_redirect
bind responder global pol_redirect 100 END
add rewrite action act1 replace 'HTTP.REQ.URL.PATH.SUFFIX('/',0)' '"index.phpmarker&id="+HTTP.REQ.URL.PATH.SUFFIX('/',0)' -bypassSafetyCheck yes
add rewrite policy pol1 '!HTTP.REQ.URL.QUERY.CONTAINS("marker")' act1
bind rewrite global pol1 100 END
Asegurarse de que se utiliza un servidor seguro para las páginas seleccionadas
Para asegurarse de que solo se utilizan servidores seguros para las páginas web seleccionadas, puede utilizar las siguientes directivas de código mod_rewrite de Apache o de Responder de Citrix ADC.
Solución mod_rewrite de Apache
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(page1|page2|page3|page4|page5)$ https://www.example.com/%1 [R,L]
Solución Citrix ADC que utiliza expresiones regulares
add responder action res_redirect redirect '"https://www.example.com"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol_redirect '!CLIENT.TCP.DSTPORT.EQ(443)&&HTTP.REQ.URL.REGEX_MATCH(re/page[1-5]/)' res_redirect
bind responder global pol_redirect 100 END
Solución Citrix ADC que utiliza conjuntos de patrones
add patset pat1
bind patset pat1 page1
bind patset pat1 page2
bind patset pat1 page3
bind patset pat1 page4
bind patset pat1 page5
add responder action res_redirect redirect '"https://www.example.com"+HTTP.REQ.URL' -bypassSafetyCheck yes
add responder policy pol_redirect '!CLIENT.TCP.DSTPORT.EQ(443)&&HTTP.REQ.URL.CONTAINS_ANY("pat1")' res_redirect
bind responder global pol_redirect 100 END
Compartir
Compartir
En este artículo
- Conversión de variaciones de URL en URL canónicas
- Solución mod_rewrite de Apache para convertir una URL
- Solución Citrix ADC para convertir una URL
- Conversión de variaciones de nombres de host en nombres de host canónicos
- Solución mod_rewrite Apache para imponer un nombre de host particular para sitios que se ejecutan en un puerto distinto a 80
- Solución mod_rewrite Apache para imponer un nombre de host particular para sitios que se ejecutan en el puerto 80
- Solución Citrix ADC para imponer un nombre de host concreto para sitios que se ejecutan en un puerto distinto de 80
- Solución Citrix ADC para imponer un nombre de host concreto para sitios que se ejecutan en el puerto 80
- Mover una raíz de documento
- Solución mod_rewrite de Apache para mover la raíz del documento
- Solución Citrix ADC para mover la raíz del documento
- Solución Citrix ADC para mover la raíz del documento y agregar información de ruta a la solicitud
- Mover directorios particulares a un nuevo servidor web
- Solución mod_rewrite Apache para redirigir a otro servidor web
- Solución Citrix ADC para redirigir a otro servidor web (método 1)
- Solución Citrix ADC para redirigir a otro servidor web (método 2)
- Trabajar con directorios particulares estructurados
- Solución mod_rewrite Apache para directorios particulares estructurados
- Solución Citrix ADC para directorios particulares estructurados
- Redirigir direcciones URL no válidas a otros servidores web
- Solución mod_rewrite de Apache para redirección si una URL es incorrecta
- Solución Citrix ADC para redirección si una dirección URL es incorrecta (método 1)
- Solución Citrix ADC para redirección si una dirección URL es incorrecta (método 2)
- Volver a escribir una URL en función del tiempo
- Solución mod_rewrite Apache para reescribir una URL basada en la hora
- Solución Citrix ADC para reescribir una URL en función de la hora
- Redirigir a un nuevo nombre de archivo (Invisible para el usuario)
- Solución mod_rewrite Apache para administrar un cambio de nombre de archivo en una ubicación fija
- Solución Citrix ADC para administrar un cambio de nombre de archivo en una ubicación fija
- Solución Citrix ADC para administrar un cambio de nombre de archivo independientemente del directorio base o las cadenas de consulta en la URL
- Redirigir al nuevo nombre de archivo (URL visible por el usuario)
- Solución mod_rewrite Apache para cambiar el nombre del archivo y la URL mostrada en el explorador
- Solución Citrix ADC para cambiar el nombre de archivo y la URL mostrada en el explorador
- Solución Citrix ADC para cambiar el nombre de archivo y la URL mostrada en el explorador, independientemente del directorio base o las cadenas de consulta en la URL
- Acomodar contenido dependiente del explorador
- Solución mod_rewrite de Apache para configuraciones específicas del explorador
- Bloquear el acceso de los robots
- Solución mod_rewrite Apache para bloquear una ruta y un encabezado User-Agent
- Solución Citrix ADC para bloquear una ruta y un encabezado User-Agent
- Bloquear el acceso a imágenes en línea
- Solución mod_rewrite Apache para bloquear el acceso a una imagen en línea
- Solución Citrix ADC para bloquear el acceso a una imagen en línea
- Creación de vínculos sin extensión
- Solución mod_rewrite Apache para agregar una extensión.php a todas las solicitudes
- Directiva Citrix ADC para agregar una extensión.php a todas las solicitudes
- Solución mod_rewrite de Apache para agregar extensiones.html o.php a las solicitudes
- Directiva Citrix ADC para agregar extensiones.html o.php a las solicitudes
- Redirigir un URI de trabajo a un nuevo formato
- Solución mod_rewrite de Apache
- Asegurarse de que se utiliza un servidor seguro para las páginas seleccionadas
- Solución mod_rewrite de Apache
- Solución Citrix ADC que utiliza expresiones regulares
- Solución Citrix ADC que utiliza conjuntos de patrones
This Preview product documentation is Citrix Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Citrix Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Citrix product purchase decisions.
If you do not agree, select Do Not Agree to exit.