-
Bereitstellen einer Citrix ADC VPX-Instanz
-
Installieren einer Citrix ADC VPX Instanz auf einem Bare-Metal-Server
-
Installieren einer Citrix ADC VPX-Instanz auf Citrix Hypervisor
-
Installieren einer Citrix ADC VPX Instanz in VMware Cloud auf AWS
-
Installieren einer Citrix ADC VPX Instanz auf Microsoft Hyper-V-Servern
-
Installieren einer Citrix ADC VPX-Instanz auf der Linux-KVM-Plattform
-
Bereitstellen der virtuellen Citrix ADC Appliance mit OpenStack
-
Bereitstellen der Citrix ADC Virtual Appliance mit Virtual Machine Manager
-
Konfigurieren virtueller Citrix ADC Appliances für die Verwendung der SR-IOV-Netzwerkschnittstelle
-
Bereitstellen der virtuellen Citrix ADC Appliance mit dem Virsh-Programm
-
Bereitstellen der virtuellen Citrix ADC Appliance mit SR-IOV auf OpenStack
-
Bereitstellen einer Citrix ADC VPX-Instanz auf AWS
-
Bereitstellen einer eigenständigen Citrix ADC VPX-Instanz in AWS
-
Bereitstellen eines hochverfügbaren VPX-Paars mit elastischen IP-Adressen in verschiedenen AWS-Zonen
-
Bereitstellen eines hochverfügbaren VPX-Paars mit privaten IP-Adressen in verschiedenen AWS-Zonen
-
Konfigurieren einer Citrix ADC VPX-Instanz für die Verwendung der SR-IOV-Netzwerkschnittstelle
-
Konfigurieren einer Citrix ADC VPX-Instanz für die Verwendung von Enhanced Networking mit AWS ENA
-
Bereitstellen einer Citrix ADC VPX Instanz in Microsoft Azure
-
Netzwerkarchitektur für Citrix ADC VPX-Instanzen in Microsoft Azure
-
Konfigurieren mehrerer IP-Adressen für eine eigenständige Citrix ADC VPX-Instanz
-
Konfigurieren eines Hochverfügbarkeitssetups mit mehreren IP-Adressen und Netzwerkkarten
-
Konfigurieren einer Citrix ADC VPX-Instanz für beschleunigte Azure-Netzwerke
-
Konfigurieren von HA-INC-Knoten mit der Citrix Hochverfügbarkeitsvorlage mit Azure ILB
-
Konfigurieren von GSLB auf einem Hochverfügbarkeits-Setup mit aktivem Standby-Modus
-
Konfigurieren von Adresspools (IIP) für eine Citrix Gateway Appliance
-
Zusätzliche PowerShell -Skripts für die Azure-Bereitstellung
-
Bereitstellen einer Citrix ADC VPX-Instanz auf der Google Cloud Platform
-
Automatisieren der Bereitstellung und Konfiguration von Citrix ADC
-
Upgrade und Downgrade einer Citrix ADC Appliance
-
Lösungen für Telekommunikationsdienstleister
-
Lastausgleich Control-Ebenenverkehr, der auf Durchmesser-, SIP- und SMPP-Protokollen basiert
-
Authentifizierung, Autorisierung und Auditing des Anwendungsdatenverkehrs
-
Funktionsweise von Authentifizierung, Autorisierung und Auditing
-
Grundkomponenten der Authentifizierungs-, Autorisierungs- und Überwachungskonfiguration
-
On-Premises Citrix Gateway als Identitätsanbieter für Citrix Cloud
-
Konfigurationsunterstützung für das Cookie-Attribut SameSite
-
Authentifizierung, Autorisierung und Auditing-Konfiguration für häufig verwendete Protokolle
-
Beheben von Problemen mit Authentifizierung und Autorisierung
-
-
-
-
Konfigurieren des erweiterten Richtlinienausdrucks: Erste Schritte
-
Erweiterte Richtlinienausdrücke: Arbeiten mit Datumsangaben, Uhrzeiten und Zahlen
-
Erweiterte Richtlinienausdrücke: Analysieren von HTTP-, TCP- und UDP-Daten
-
Erweiterte Richtlinienausdrücke: Analysieren von SSL-Zertifikaten
-
Erweiterte Richtlinienausdrücke: IP- und MAC-Adressen, Durchsatz, VLAN-IDs
-
Erweiterte Richtlinienausdrücke: Stream Analytics-Funktionen
-
Zusammenfassende Beispiele für Standard-Syntaxausdrücke und -richtlinien
-
Tutorialbeispiele für Standard-Syntaxrichtlinien für das Umschreiben
-
Migration von Apache mod_rewrite Regeln auf die Standardsyntax
-
-
-
-
-
Verwalten eines virtuellen Cache-Umleitungsservers
-
Statistiken zum virtuellen Server zur Cache-Umleitung anzeigen
-
Aktivieren oder Deaktivieren eines virtuellen Cache-Umleitungsservers
-
Direkter Richtlinientreffer in den Cache anstelle des Ursprungs
-
Verwalten von Clientverbindungen für einen virtuellen Server
-
Externe TCP-Zustandsprüfung für virtuelle UDP-Server aktivieren
-
-
Ziel-IP-Adresse einer Anforderung in Ursprungs-IP-Adresse übersetzen
-
-
-
Konfigurieren von Citrix ADC als nicht validierenden, sicherheitsbezogene Stub-Resolver
-
Jumbo-Frames-Unterstützung für DNS, um Antworten großer Größen zu verarbeiten
-
Konfigurieren der negativen Zwischenspeicherung von DNS-Einträgen
-
-
GSLB-Entitäten einzeln konfigurieren
-
Anwendungsfall: Bereitstellung einer Domainnamen-basierten Autoscale-Dienstgruppe
-
Anwendungsfall: Bereitstellung einer IP-adressbasierten Autoscale-Service-Gruppe
-
-
Verwalten des Client-Datenverkehrs
-
Konfigurieren von virtuellen Servern ohne Sitzungsaufwand für den Lastenausgleich
-
IP-Adresse und Port eines virtuellen Servers in den Request-Header einfügen
-
Verwenden einer angegebenen Quell-IP für die Backend-Kommunikation
-
Festlegen eines Timeoutwerts für Leerlauf-Clientverbindungen
-
Verwalten des Client-Datenverkehrs auf der Grundlage der Datenverkehrsrate
-
Verwenden eines Quellports aus einem angegebenen Portbereich für die Backend-Kommunikation
-
Konfigurieren der Quell-IP-Persistenz für die Backend-Kommunikation
-
Verwenden von lokalen IPv6-Link-Adressen auf Serverseite eines Lastausgleichs-Setups
-
-
Erweiterte Lastenausgleichseinstellungen
-
Schützen von Anwendungen auf geschützten Servern vor Überlastung des Datenverkehrs
-
Bereinigung von virtuellen Server- und Dienstverbindungen aktivieren
-
Aktivieren oder Deaktivieren der Persistenzsitzung auf TROFS-Diensten
-
Externe TCP-Zustandsprüfung für virtuelle UDP-Server aktivieren
-
Verwalten der Clientverbindung für mehrere Clientanforderungen
-
Standortdetails von der Benutzer-IP-Adresse mit der Geolocation-Datenbank abrufen
-
Verwenden der Quell-IP-Adresse des Clients für die Verbindung zum Server
-
Festlegen eines Grenzwerts für die Anzahl der Clientverbindungen
-
Festlegen eines Grenzwerts für die Anzahl der Anforderungen pro Verbindung zum Server
-
Festlegen eines Schwellenwerts für die an einen Dienst gebundenen Monitore
-
Festlegen eines Timeoutwerts für Leerlauf-Clientverbindungen
-
Festlegen eines Zeitüberschreitungswertes für Serververbindungen im Leerlauf
-
Festlegen eines Grenzwerts für die Bandbreitenauslastung durch Clients
-
Konfigurieren des Lastenausgleichs für häufig verwendete Protokolle
-
Anwendungsfall 3: Konfigurieren des Lastausgleichs im Direktserverrückgabemodus
-
Anwendungsfall 4: Konfigurieren von LINUX-Servern im DSR-Modus
-
Anwendungsfall 5: Konfigurieren des DSR-Modus bei Verwendung von TOS
-
Anwendungsfall 6: Konfigurieren des Lastausgleichs im DSR-Modus für IPv6-Netzwerke über das TOS-Feld
-
Anwendungsfall 7: Konfigurieren des Lastausgleichs im DSR-Modus mit IP over IP
-
Anwendungsfall 8: Lastausgleich im Einarmmodus konfigurieren
-
Anwendungsfall 9: Konfigurieren des Lastausgleichs im Inline-Modus
-
Anwendungsfall 10: Lastausgleich von Intrusion Detection Systemservern
-
Anwendungsfall 11: Isolieren des Netzwerkverkehrs mit Listening-Richtlinien
-
Anwendungsfall 12: Konfigurieren von XenDesktop für den Lastenausgleich
-
Anwendungsfall 13: Konfigurieren von XenApp für den Lastenausgleich
-
Anwendungsfall 14: ShareFile Assistent für den Lastenausgleich von Citrix ShareFile
-
SSL-Offload und Beschleunigung
-
Unterstützung für Intel Coleto SSL-Chip-basierte Plattformen
-
Unterstützung für Gemalto SafeNet Network Hardwaresicherheitsmodul
-
-
-
-
Konfigurieren eines CloudBridge Connector-Tunnels zwischen zwei Rechenzentren
-
Konfigurieren von CloudBridge Connector zwischen Datacenter und AWS Cloud
-
Konfigurieren eines CloudBridge-Connector-Tunnels zwischen einem Datacenter und Azure Cloud
-
Konfigurieren des CloudBridge Connector-Tunnels zwischen Datacenter und SoftLayer Enterprise Cloud
-
-
Punkte, die für ein Hochverfügbarkeits-Setup berücksichtigt werden müssen
-
Synchronisieren von Konfigurationsdateien in einem Hochverfügbarkeitssetup
-
Beschränken des Hochverfügbarkeitssynchronisierungsverkehrs auf ein VLAN
-
Konfigurieren von Hochverfügbarkeitsknoten in verschiedenen Subnetzen
-
Beschränken von Failovers durch Routenmonitore im Nicht-INC-Modus
-
Verwalten von Heartbeat-Nachrichten mit hoher Verfügbarkeit auf einer Citrix ADC Appliance
-
Entfernen und Ersetzen eines Citrix ADC in einem Hochverfügbarkeit-Setup
-
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!
Migration von Apache mod_rewrite Regeln auf die Standardsyntax
Der Apache HTTP-Server stellt eine Engine namens mod_rewrite zum Umschreiben von HTTP-Anforderungs-URLs bereit. Wenn Sie die mod_rewrite-Regeln von Apache auf Citrix ADC migrieren, erhöhen Sie die Back-End-Serverleistung. Da der Citrix ADC normalerweise mehrere (manchmal Tausende) Webserver ausgleicht, haben Sie nach der Migration der Regeln zum Citrix ADC einen einzigen Kontrollpunkt für diese Regeln.
Im Folgenden finden Sie Beispiele für mod_rewrite-Funktionen und Übersetzungen dieser Funktionen in Rewrite- und Responder-Richtlinien auf dem Citrix ADC.
Konvertieren von URL-Variationen in kanonische URLs
Auf einigen Webservern können Sie mehrere URLs für eine Ressource verwenden. Obwohl die kanonischen URLs verwendet und verteilt werden sollten, können andere URLs als Verknüpfungen oder interne URLs vorhanden sein. Sie können sicherstellen, dass Benutzer die kanonische URL sehen, unabhängig von der URL, die verwendet wird, um eine erste Anfrage zu stellen.
In den folgenden Beispielen wird die URL /~user in /u/user konvertiert.
Apache mod_rewrite Lösung zum Konvertieren einer URL
RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2[R]
Citrix ADC Lösung zum Konvertieren einer 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
Konvertieren von Hostnamen-Variationen in kanonische Hostnamen
Sie können die Verwendung eines bestimmten Hostnamens zum Erreichen einer Site erzwingen. Beispielsweise können Sie die Verwendung von www.example.com anstelle von example.com erzwingen.
Apache mod_rewrite Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf einem anderen Port als 80 ausgeführt werden
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{SERVER_PORT} !^80$
RewriteRule ^/(.*) http://www.example.com:%{SERVER_PORT}/$1 [L,R]
Apache mod_rewrite Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf Port 80 ausgeführt werden
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R]
Citrix ADC Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf einem anderen Port als 80 ausgeführt werden
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
Citrix ADC Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf Port 80 ausgeführt werden
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
Verschieben eines Dokumentstammes
Normalerweise basiert der Dokumentenstamm eines Webservers auf der URL /. Der Dokumentstamm kann jedoch ein beliebiges Verzeichnis sein. Sie können den Datenverkehr zum Dokumentstamm umleiten, wenn er sich vom obersten Verzeichnis / in ein anderes Verzeichnis ändert.
In den folgenden Beispielen ändern Sie den Dokumentstamm von/in /e/www. Die ersten beiden Beispiele ersetzen einfach eine Zeichenfolge durch eine andere. Das dritte Beispiel ist universeller, da neben dem Ersetzen des Stammverzeichnisses der Rest der URL (Pfad und Abfragezeichenfolge) beibehalten wird, z. B. /example/file.html nach /e/www/example/file.htmlumgeleitet wird.
Apache mod_rewrite Lösung zum Verschieben des Dokumentstammes
RewriteEngine on
RewriteRule ^/$ /e/www/ [R]
Citrix ADC Lösung zum Verschieben des Dokumentstammes
add responder action act1 redirect '"/e/www/"' -bypassSafetyCheck yes
add responder policy pol1 'HTTP.REQ.URL.EQ("/")' act1
bind responder global pol1 100
Citrix ADC Lösung zum Verschieben des Dokumentstammes und Anhängen von Pfadinformationen an die Anforderung
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
Verschieben von Basisverzeichnissen auf einen neuen Webserver
Möglicherweise möchten Sie Anforderungen, die an Basisverzeichnisse auf einem Webserver gesendet werden, an einen anderen Webserver umleiten. Wenn beispielsweise ein neuer Webserver einen alten Webserver im Laufe der Zeit ersetzt, müssen Sie beim Migrieren von Basisverzeichnissen an den neuen Speicherort Anforderungen für die migrierten Basisverzeichnisse an den neuen Webserver umleiten.
In den folgenden Beispielen ist der Hostname für den neuen Webserver newserver.
Apache mod_rewrite Lösung zum Umleiten auf einen anderen Webserver
RewriteRule ^/(.+) http://newserver/$1 [R,L]
Citrix ADC Lösung zum Umleiten auf einen anderen Webserver (Methode 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
Citrix ADC Lösung zum Umleiten auf einen anderen Webserver (Methode 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
Arbeiten mit strukturierten Home-Verzeichnissen
Normalerweise hat eine Site mit Tausenden von Benutzern ein strukturiertes Home-Verzeichnislayout. Beispielsweise kann sich jedes Basisverzeichnis unter einem Unterverzeichnis befinden, das mit dem ersten Zeichen des Benutzernamens benannt wird. Beispielsweise könnte das Home-Verzeichnis für jsmith (/~jsmith/anypath) /home/j/smith/.www/anypath sein, und das Home-Verzeichnis für rvalveti (/~rvalveti/anypath) könnte /home/r/rvalveti/.www/anypath sein.
In den folgenden Beispielen werden Anforderungen an das Basisverzeichnis umgeleitet.
Apache mod_rewrite Lösung für strukturierte Home-Verzeichnisse
RewriteRule ^/~(([a-z])[a-z0-9]+)(.*) /home/$2/$1/.www$3
Citrix ADC Lösung für strukturierte Basisverzeichnisse
Citrix ADC Lösung für strukturierte Basisverzeichnisse
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
Umleiten ungültiger URLs zu anderen Webservern
Wenn eine URL ungültig ist, sollte sie auf einen anderen Webserver umgeleitet werden. Sie sollten beispielsweise zu einem anderen Webserver umleiten, wenn eine Datei, die in einer URL benannt ist, auf dem Server, der in der URL benannt ist, nicht vorhanden ist.
Auf Apache können Sie diese Prüfung mit mod_rewrite durchführen. Auf dem Citrix ADC kann ein HTTP-Callout nach einer Datei auf einem Server suchen, indem ein Skript auf dem Server ausgeführt wird. In den folgenden Citrix ADC Beispielen verarbeitet ein Skript mit dem Namen file_check.cgi die URL und verwendet diese Informationen, um zu überprüfen, ob die Zieldatei auf dem Server vorhanden ist. Das Skript gibt TRUE oder FALSE zurück, und Citrix ADC verwendet den Wert, den das Skript zurückgibt, um die Richtlinie zu überprüfen.
Zusätzlich zur Durchführung der Umleitung kann Citrix ADC benutzerdefinierte Header hinzufügen oder, wie im zweiten Citrix ADC-Beispiel, Text im Antworttext hinzufügen.
Apache mod_rewrite Lösung für die Umleitung, wenn eine URL falsch ist
RewriteCond /your/docroot/%{REQUEST_FILENAME} !-f
RewriteRule ^(.+) http://webserverB.com/$1 [R]
Citrix ADC Lösung für die Umleitung, wenn eine URL falsch ist (Methode 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
Citrix ADC Lösung für die Umleitung, wenn eine URL falsch ist (Methode 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
Umschreiben einer URL basierend auf der Zeit
Sie können eine URL basierend auf der Zeit neu schreiben. In den folgenden Beispielen wird eine Anforderung für example.html in example.day.html oder example.night.html geändert, abhängig von der Tageszeit.
Apache mod_rewrite Lösung zum Umschreiben einer URL basierend auf der Zeit
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
Citrix ADC Lösung zum Umschreiben einer URL basierend auf der Zeit
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
Umleitung zu einem neuen Dateinamen (für den Benutzer unsichtbar)
Wenn Sie eine Webseite umbenennen, können Sie die alte URL aus Gründen der Abwärtskompatibilität weiterhin unterstützen, während Benutzer daran hindern, dass die Seite umbenannt wurde.
In den ersten beiden der folgenden Beispiele ist das Basisverzeichnis /~quux/. Das dritte Beispiel enthält alle Basisverzeichnisse und das Vorhandensein von Abfragezeichenfolgen in der URL.
Apache mod_rewrite Lösung zur Verwaltung einer Dateinamenänderung an einem festen Speicherort
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^foo.html$ bar.html
Citrix ADC Lösung zur Verwaltung einer Dateinamenänderung an einem festen Speicherort
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
Citrix ADC Lösung zur Verwaltung einer Dateinamenänderung unabhängig vom Basisverzeichnis oder Abfragezeichenfolgen in der 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
Umleitung zu neuen Dateinamen (vom Benutzer sichtbare URL)
Wenn Sie eine Webseite umbenennen, sollten Sie die alte URL aus Gründen der Abwärtskompatibilität weiterhin unterstützen und Benutzern erlauben, zu erkennen, dass die Seite umbenannt wurde, indem Sie die URL ändern, die im Browser angezeigt wird.
In den ersten beiden der folgenden Beispiele erfolgt die Umleitung, wenn das Basisverzeichnis /~quux/ ist. Das dritte Beispiel enthält alle Basisverzeichnisse und das Vorhandensein von Abfragezeichenfolgen in der URL.
Apache mod_rewrite Lösung zum Ändern des Dateinamens und der URL im Browser angezeigt
RewriteEngine on
RewriteBase /~quux/
RewriteRule ^old.html$ new.html [R]
Citrix ADC Lösung zum Ändern des Dateinamens und der im Browser angezeigten URL
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
Citrix ADC Lösung zum Ändern des Dateinamens und der im Browser angezeigten URL unabhängig vom Basisverzeichnis oder den Abfragezeichenfolgen in der 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
Browserabhängige Inhalte aufnehmen
Um browserspezifische Einschränkungen — zumindest für wichtige Seiten der obersten Ebene — zu berücksichtigen, ist es manchmal notwendig, Einschränkungen für den Browsertyp und die Version festzulegen. Sie können beispielsweise eine maximale Version für die neuesten Netscape-Varianten, eine Mindestversion für Lynx-Browser und eine durchschnittliche Feature-Version für alle anderen festlegen.
Die folgenden Beispiele wirken auf den HTTP-Header “User-Agent”, so dass, wenn dieser Header mit “Mozilla/3” beginnt, die Seite MyPage.html in MyPage.NS.html umgeschrieben wird. Wenn der Browser Lynx oder Mozilla Version 1 oder 2 ist, wird die URL myPage.20.html. Alle anderen Browser erhalten Seite myPage.32.html.
Apache mod_rewrite Lösung für browserspezifische Einstellungen
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
Sperren des Zugriffs durch Roboter
Sie können einen Roboter davon abhalten, Seiten aus einem bestimmten Verzeichnis oder einer Reihe von Verzeichnissen abzurufen, um den Datenverkehr zu und von diesen Verzeichnissen zu erleichtern. Sie können den Zugriff basierend auf dem bestimmten Speicherort einschränken oder Anfragen basierend auf Informationen in HTTP-Headern des User-Agent blockieren.
In den folgenden Beispielen ist der zu blockierende Webspeicherort /~quux/foo/arc/, die zu blockierenden IP-Adressen sind 123.45.67.8 und 123.45.67.9, und der Name des Roboters lautet NameOfBadRobot.
Apache mod_rewrite Lösung zum Blockieren eines Pfades und eines User-Agent-Headers
RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.*
RewriteCond %{REMOTE_ADDR} ^123.45.67.[8-9]$
RewriteRule ^/~quux/foo/arc/.+ - [F]
Citrix ADC Lösung zum Blockieren eines Pfades und eines User-Agent-Headers
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
Blockieren des Zugriffs auf Inline-Images
Wenn Sie feststellen, dass Personen häufig auf Ihren Server gehen, um Inline-Grafiken für den eigenen Gebrauch zu kopieren (und unnötigen Datenverkehr zu generieren), sollten Sie die Fähigkeit des Browsers einschränken, einen HTTP-Referer-Header zu senden.
Im folgenden Beispiel befinden sich die Grafiken in Beispiel.
Apache mod_rewrite Lösung zum Blockieren des Zugriffs auf ein Inline-Image
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.\*$
RewriteRule .\*.gif$ - [F]
Citrix ADC Lösung zum Blockieren des Zugriffs auf ein Inline-Image
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
Erstellen von erweiterungslosen Links
Um zu verhindern, dass Benutzer Anwendungs- oder Skriptdetails auf der Serverseite kennen, können Sie Dateierweiterungen vor Benutzern ausblenden. Um dies zu tun, möchten Sie möglicherweise erweiterungslose Links unterstützen. Sie können dieses Verhalten erreichen, indem Sie Rewrite-Regeln verwenden, um eine Erweiterung zu allen Anforderungen hinzuzufügen oder um selektiv Erweiterungen zu Anforderungen hinzuzufügen.
Die ersten beiden der folgenden Beispiele zeigen das Hinzufügen einer Erweiterung zu allen Anforderungs-URLs. Im letzten Beispiel wird eine von zwei Dateierweiterungen hinzugefügt. Beachten Sie, dass im letzten Beispiel das Modul mod_rewrite die Dateierweiterung leicht finden kann, da sich dieses Modul auf dem Webserver befindet. Im Gegensatz dazu muss Citrix ADC ein HTTP-Callout aufrufen, um die Erweiterung der angeforderten Datei auf dem Webserver zu überprüfen. Basierend auf der Callout-Antwort fügt Citrix ADC die Erweiterung .html oder .php zur Anforderungs-URL hinzu.
Hinweis:
Im zweiten Citrix ADC Beispiel wird ein HTTP-Callout verwendet, um ein Skript namens file_check.cgi abzufragen, das auf dem Server gehostet wird. Dieses Skript überprüft, ob das Argument, das im Callout angegeben wird, ein gültiger Dateiname ist.
Apache mod_rewrite Lösung zum Hinzufügen einer PHP-Erweiterung zu allen Anfragen
RewriteRule ^/?([a-z]+)$ $1.php [L]
Citrix ADC Richtlinie zum Hinzufügen einer PHP-Erweiterung zu allen Anforderungen
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
Apache mod_rewrite Lösung zum Hinzufügen von HTML- oder PHP-Erweiterungen zu Anfragen
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]
Citrix ADC Richtlinie zum Hinzufügen von HTML- oder PHP-Erweiterungen zu Anforderungen
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
Umleiten eines Working URI in ein neues Format
Angenommen, Sie haben eine Reihe von funktionierenden URLs, die der folgenden ähneln:
/index.php?id=nnnn
Um diese URLs in /nnnn zu ändern und sicherzustellen, dass Suchmaschinen ihre Indizes auf das neue URI-Format aktualisieren, müssen Sie Folgendes tun:
- Leiten Sie die alten URIs auf die neuen um, damit Suchmaschinen ihre Indizes aktualisieren.
- Schreiben Sie den neuen URI zurück in den alten, so dass das Skript index.php korrekt ausgeführt wird.
Um dies zu erreichen, können Sie Markercode in die Abfragezeichenfolge einfügen (sicherstellen, dass der Markercode von Besuchern nicht gesehen wird) und dann den Markercode für das Skript index.php entfernen.
Die folgenden Beispiele leiten nur dann von einem alten Link in ein neues Format um, wenn kein Marker in der Abfragezeichenfolge vorhanden ist. Der Link, der das neue Format verwendet, wird in das alte Format zurückgeschrieben, und der Abfragezeichenfolge wird ein Marker hinzugefügt.
Apache mod_rewrite Lösung
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
Sicherstellen, dass ein sicherer Server für ausgewählte Seiten verwendet wird
Um sicherzustellen, dass nur sichere Server für ausgewählte Webseiten verwendet werden, können Sie die folgenden Apache mod_rewrite Code oder Citrix ADC Responder-Richtlinien verwenden.
Apache mod_rewrite Lösung
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/?(page1|page2|page3|page4|page5)$ https://www.example.com/%1 [R,L]
Citrix ADC Lösung mit regulären Ausdrücken
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
Citrix ADC Lösung mit Mustersätzen
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
Teilen
Teilen
In diesem Artikel
- Konvertieren von URL-Variationen in kanonische URLs
- Apache mod_rewrite Lösung zum Konvertieren einer URL
- Citrix ADC Lösung zum Konvertieren einer URL
- Konvertieren von Hostnamen-Variationen in kanonische Hostnamen
- Apache mod_rewrite Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf einem anderen Port als 80 ausgeführt werden
- Apache mod_rewrite Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf Port 80 ausgeführt werden
- Citrix ADC Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf einem anderen Port als 80 ausgeführt werden
- Citrix ADC Lösung zum Erzwingen eines bestimmten Hostnamens für Sites, die auf Port 80 ausgeführt werden
- Verschieben eines Dokumentstammes
- Apache mod_rewrite Lösung zum Verschieben des Dokumentstammes
- Citrix ADC Lösung zum Verschieben des Dokumentstammes
- Citrix ADC Lösung zum Verschieben des Dokumentstammes und Anhängen von Pfadinformationen an die Anforderung
- Verschieben von Basisverzeichnissen auf einen neuen Webserver
- Apache mod_rewrite Lösung zum Umleiten auf einen anderen Webserver
- Citrix ADC Lösung zum Umleiten auf einen anderen Webserver (Methode 1)
- Citrix ADC Lösung zum Umleiten auf einen anderen Webserver (Methode 2)
- Arbeiten mit strukturierten Home-Verzeichnissen
- Apache mod_rewrite Lösung für strukturierte Home-Verzeichnisse
- Citrix ADC Lösung für strukturierte Basisverzeichnisse
- Umleiten ungültiger URLs zu anderen Webservern
- Apache mod_rewrite Lösung für die Umleitung, wenn eine URL falsch ist
- Citrix ADC Lösung für die Umleitung, wenn eine URL falsch ist (Methode 1)
- Citrix ADC Lösung für die Umleitung, wenn eine URL falsch ist (Methode 2)
- Umschreiben einer URL basierend auf der Zeit
- Apache mod_rewrite Lösung zum Umschreiben einer URL basierend auf der Zeit
- Citrix ADC Lösung zum Umschreiben einer URL basierend auf der Zeit
- Umleitung zu einem neuen Dateinamen (für den Benutzer unsichtbar)
- Apache mod_rewrite Lösung zur Verwaltung einer Dateinamenänderung an einem festen Speicherort
- Citrix ADC Lösung zur Verwaltung einer Dateinamenänderung an einem festen Speicherort
- Citrix ADC Lösung zur Verwaltung einer Dateinamenänderung unabhängig vom Basisverzeichnis oder Abfragezeichenfolgen in der URL
- Umleitung zu neuen Dateinamen (vom Benutzer sichtbare URL)
- Apache mod_rewrite Lösung zum Ändern des Dateinamens und der URL im Browser angezeigt
- Citrix ADC Lösung zum Ändern des Dateinamens und der im Browser angezeigten URL
- Citrix ADC Lösung zum Ändern des Dateinamens und der im Browser angezeigten URL unabhängig vom Basisverzeichnis oder den Abfragezeichenfolgen in der URL
- Browserabhängige Inhalte aufnehmen
- Apache mod_rewrite Lösung für browserspezifische Einstellungen
- Sperren des Zugriffs durch Roboter
- Apache mod_rewrite Lösung zum Blockieren eines Pfades und eines User-Agent-Headers
- Citrix ADC Lösung zum Blockieren eines Pfades und eines User-Agent-Headers
- Blockieren des Zugriffs auf Inline-Images
- Apache mod_rewrite Lösung zum Blockieren des Zugriffs auf ein Inline-Image
- Citrix ADC Lösung zum Blockieren des Zugriffs auf ein Inline-Image
- Erstellen von erweiterungslosen Links
- Apache mod_rewrite Lösung zum Hinzufügen einer PHP-Erweiterung zu allen Anfragen
- Citrix ADC Richtlinie zum Hinzufügen einer PHP-Erweiterung zu allen Anforderungen
- Apache mod_rewrite Lösung zum Hinzufügen von HTML- oder PHP-Erweiterungen zu Anfragen
- Citrix ADC Richtlinie zum Hinzufügen von HTML- oder PHP-Erweiterungen zu Anforderungen
- Umleiten eines Working URI in ein neues Format
- Apache mod_rewrite Lösung
- Sicherstellen, dass ein sicherer Server für ausgewählte Seiten verwendet wird
- Apache mod_rewrite Lösung
- Citrix ADC Lösung mit regulären Ausdrücken
- Citrix ADC Lösung mit Mustersätzen
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.