F5 iRule: 路径重写、SSL 禁用和池选择
这段代码是一个iRule,它是用于F5 BIG-IP负载均衡器的一种配置语言。当有HTTP请求到达时,这个iRule会根据请求的主机和URI路径进行匹配,并执行相应的操作。\n\n首先,使用switch语句根据请求的主机和URI路径进行匹配。如果匹配到"www.liveapp.customer.co.uk/app2easypath_",则执行以下操作:\n\n1. 修改HTTP请求的路径,将/app2easypath替换为/realpath,并将修改后的路径赋值给HTTP::path。\n2. 禁用SSL服务器端功能。\n3. 将请求转发到名为CUST1-WEB-PROD-APP2-Pool的服务器池。\n\n如果匹配到"www.testapp.customer.co.uk/app2easypath_",则执行以下操作:\n\n1. 修改HTTP请求的路径,将/app2easypath替换为/realpath,并将修改后的路径赋值给HTTP::path。\n2. 禁用SSL服务器端功能。\n3. 将请求转发到名为CUST1-WEB-PROD-APP2-test-Pool的服务器池。\n\n如果没有匹配到任何条件,则执行以下操作:\n\n1. 将HTTP请求重定向到http://www.google.com。\n\n请注意,代码中存在括号不匹配的问题,可能是因为复制错误。正确的代码应该是:\n\ntcl\nwhen HTTP_REQUEST {\n switch -glob [string tolower [getfield [HTTP::host] ":" 1][HTTP::uri]] {\n "www.liveapp.customer.co.uk/app2easypath_" {\n HTTP::path [string map { /app2easypath /realpath } [HTTP::path]]\n SSL::disable serverside\n pool CUST1-WEB-PROD-APP2-Pool\n }\n "www.testapp.customer.co.uk/app2easypath_" {\n HTTP::path [string map { /app2easypath /realpath } [HTTP::path]]\n SSL::disable serverside\n pool CUST1-WEB-PROD-APP2-test-Pool\n }\n default {\n HTTP::redirect http://www.google.com\n }\n }\n}\n\n\n希望能对你有帮助!
原文地址: https://www.cveoy.top/t/topic/ptNd 著作权归作者所有。请勿转载和采集!