ADC

Ejemplos de directivas de reescritura y respuesta

A continuación se presentan algunos ejemplos de directivas de reescritura y respuesta:

Ejemplo 1: Para agregar un encabezado IP de cliente local mediante la interfaz de línea de comandos

添加重写操作act_ins_client insert_http_header NS-Client 'CLIENT.IP.SRC' add rewrite policy pol_ins_client http.req.is_valid act_ins_client bind rewrite global pol_ins_client 300 END namem@obelix:~$ curl -v http://10.10.10.10/testsite/file5.html * Hostname was NOT found in DNS cache * Trying 10.10.10.10... * Connected to 10.10.10.10 (10.10.10.10) port 80 (#0) > GET /testsite/file5.html HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 10.10.10.10 > Accept: \*/\* > < HTTP/1.1 200 OK < Date: Tue, 10 Nov 2020 10:06:48 GMT * Server Apache/2.2.15 (CentOS) is not blacklisted < Server: Apache/2.2.15 (CentOS) < Last-Modified: Thu, 20 Jun 2019 07:16:04 GMT < ETag: "816c5-5-58bbc1e73cdd3" < Accept-Ranges: bytes < Content-Length: 5 < Content-Type: text/html; charset=UTF-8 < NS-Client: 10.102.1.98 < * Connection #0 to host 10.10.10.10 left intact JLEwxt_namem@obelix:~$ 

Ejemplo 2: enmascarar el tipo de servidor HTTP

add rewrite action Action-Rewrite-Server_Mask REPLACE HTTP.RES.HEADER("Server") ""Web Server 1.0"" add rewrite policy-Rewrite-Server_Mask HTTP.RES.IS_VALID Action-Rewrite-Server_Mask NOREWRITE namem@obelix:~$ curl -v http://10.10.10.10/testsite/file5.html * Hostname was NOT found in DNS cache * Trying 10.10.10.10... * Connected to 10.10.10.10 (10.10.10.10) port 80 (#0) > GET /testsite/file5.html HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 10.10.10.10 > Accept: \*/\* > < HTTP/1.1 200 OK < Date: Tue, 10 Nov 2020 10:15:42 GMT * Server Web Server 1.0 is not blacklisted < Server: Web Server 1.0 < Last-Modified: Thu, 20 Jun 2019 07:16:04 GMT < ETag: "816c5-5-58bbc1e73cdd3" < Accept-Ranges: bytes < Content-Length: 5 < Content-Type: text/html; charset=UTF-8 < * Connection #0 to host 10.10.10.10 left intact JLEwxt_namem@obelix:~$ 

Ejemplo 3: Responder redirigiendo a una URL diferente cuando se recibe una url

> add responder action act1 redirect ""www.google.com"" Done > add responder policy pol1 'HTTP.REQ.URL.CONTAINS("file")' act1 Done > bind responder global pol1 1 Done > name:~$ curl -v http://10.10.10.10/testsite/file5.html * Hostname was NOT found in DNS cache * Trying 10.10.10.10... * Connected to 10.10.10.10 (10.10.10.10) port 80 (#0) > GET /testsite/file5.html HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 10.10.10.10 > Accept: \*/\* > < HTTP/1.1 302 Found : Moved Temporarily < Location: www.google.com < Connection: close < Cache-Control: no-cache < Pragma: no-cache < * Closing connection 0 name@obelix:~$ 

Ejemplo 4: Responder con un mensaje que puede ser cualquier expresión o texto

add responder action act123 respondwith ""Please reach out to administrator"" add responder policy pol1 "HTTP.REQ.URL.CONTAINS("file")" act123 bind responder global pol1 100 END name@obelix:~$ curl -v http://10.10.10.10/testsite/file5.html * Hostname was NOT found in DNS cache * Trying 10.10.10.10..Responder Action and Policy: >add responder action Redirect-Action redirect ""https://xyz.abc.com/dispatcher/SAML2AuthService?siteurl=wmav"" -responseStatusCode 302 >add responder policy Redirect-Policy "HTTP.REQ.HOSTNAME.CONTAINS("abc")" Redirect-Action Binding to LB Virtual Server: >bind lb vserver Test1_SF -policyName Redirect-Policy -priority 100 -gotoPriorityExpression END -type REQUEST. * Connected to 10.10.10.10 (10.10.10.10) port 80 (#0) > GET /testsite/file5.html HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 10.10.10.10 > Accept: \*/\* > * Connection #0 to host 10.10.10.10 left intact Please reach out to administratort_name@obelix:~$ 

Ejemplo 5: Responder con una página HTML importada

进口响应者htmlpage http://10.10.10.10) /测试site/file5.html page112 add responder action act1 respondwithHtmlpage page1 add responder policy pol1 true act1 bind responder global pol1 100 name@obelix:~$ curl -v http://10.10.10.10)/testsite/file5.html * Hostname was NOT found in DNS cache * Trying 10.10.10.10... * Connected to 10.10.10.10 (10.10.10.10)) port 80 (#0) > GET /testsite/file5.html HTTP/1.1 > User-Agent: curl/7.35.0 > Host: 10.102.58.140 > Accept: \*/\* > < HTTP/1.1 200 OK < Content-Length: 5 < Content-Type: text/html < * Connection #0 to host 10.10.10.10 left intact JLEwxt_name@obelix:~$ 

Ejemplo 6: URL de redirección basada en HOSTNAME mediante la directiva de respuesta

Responder Action and Policy: >add responder action Redirect-Action redirect ""https://xyz.abc.com/dispatcher/SAML2AuthService?siteurl=wmav"" -responseStatusCode 302 >add responder policy Redirect-Policy "HTTP.REQ.HOSTNAME.CONTAINS("abc")" Redirect-Action Binding to LB Virtual Server: >bind lb vserver Test1_SF -policyName Redirect-Policy -priority 100 -gotoPriorityExpression END -type REQUEST