Netscaler URL/Cookie domain Transformation 转换

Netscaler URL/Cookie domain Transformation 转换
我们经常会碰到很多URL或cookie改写的需求,在netscaler10.1版本以前只能通过比较复杂的标准rewrite策略来做,不但费时而且还容易出错。后续的版本特意把比较这类操作频繁但需求又不复杂的操作从rewrite中摘出来,形成 transformation模块。可以做转换的对象包括request方向和response方向的URL(注意是hostname+URI都可以改,不只是路径),Cookie的domain,复合正则表达式可以用的非常灵活(如果感觉正则不太会写,可以参考《Netscaler数据索引String Map与Pattern Set的 》来方便枚举不算太多的参数)总之Netscaler的设计就是在满足稳定性和功能性的前提下尽量让大家的操作简单。

在Rewrite策略下先建立Profile,

建立Profile后填写需要转换内容的表达式

转换的对象可以是Request、Responde和Cookie Domain,对于前两者可以是URI也可以是完整的URL。

然后建立 URL Transformation Policy


将此策略绑定到需要的VIP上


观察效果:
转换前

转换后。因为我的服务器上没有/111这个路径,所以看到报错证明转换生效。

官方文档

How to Change Destination Hostname of HTTP GET Request Using URL Transformation Feature
CTX128091 Created onMay 07, 2014 Updated onMay 07, 2014
1 found this helpful
Article Topic : Configuration
See Applicable Products
Objective
This article provides information on how to change the Destination Hostname of an HTTP GET Request using the URL Transformation feature.

Instructions
To change the destination hostname of an HTTP GET request using the URL Transformation feature of a NetScaler appliance, complete the following procedure:

Run the following command from the command line interface of the appliance to create a URL Transformation profile:

add transform profile prof_url_change

Run the following command to create a URL ransformation action:

add transform action act_url_change prof_url_change 100

Run the following command to configure a URL Transformation action:

set transform action act_url_change -priority 100 -reqUrlFrom "http://one.example.co.uk/(.)/(.)/" -reqUrlInto "http://$1.one.example.local/$2/" -resUrlFrom "http://(.*).one.example.local/(.*)" -resUrlInto “http://one.example.co.uk/$1/$2

In the preceding command, the reqUrlFrom section is regex-compliant. Therefore, you can create variables, such as $1, based on word groups. You can use $1 to $5 variables for the reqUrlInto parameter.
Note: The $1 variable refers to the first (.), the $2 variable refers to the second (.), and / is a delimiter.

Run the following command to configure the URL Transformation policy:

add transform policy pol_url_change "HTTP.REQ.URL.PATH.GET(1).EQ(\"firstpath\") && HTTP.REQ.HOSTNAME.EQ(\"one.example.co.uk\")" prof_url_change

Run the following command to bind the policy globally to the appliance:

bind transform global pol_url_change 10

After configuring the appliance with the preceding configuration, if you try to access the http://one.example.co.uk/firstpath/secondpath/test.html URL, the appliance sends the http://firstpath.one.example.co.uk/secondpath/test.html URL to the backend server.

Note: In this article, URL is transformed using the first element of the path. However, you can extend this to the other elements of the URL.

来源: <http://support.citrix.com/article/CTX128091&gt;

原文地址:http://blog.51cto.com/caojin/2062640

时间: 2024-10-22 20:52:22

Netscaler URL/Cookie domain Transformation 转换的相关文章

《从0到1学习Flink》—— Flink Data transformation(转换)

前言 在第一篇介绍 Flink 的文章 <<从0到1学习Flink>-- Apache Flink 介绍> 中就说过 Flink 程序的结构 Flink 应用程序结构就是如上图所示: 1.Source: 数据源,Flink 在流处理和批处理上的 source 大概有 4 类:基于本地集合的 source.基于文件的 source.基于网络套接字的 source.自定义的 source.自定义的 source 常见的有 Apache kafka.Amazon Kinesis Stre

cookie domain set ip

项目原先部署在tomcat6下面被甲方扫出漏洞要求整改,移植到tomcat9后登录莫名出现An invalid domain was specified for this cookie 在网上找了很多资料也是让修改成合法的域名说tomcat8.5开始解析cookie变了,但是无论怎么修改代码中的域名均无效,后来找到了一篇老外写的文章,按其中的方法很快解决.ps:老外就是牛xSet tomcat to use LegacyCookieProcessor (because Rfc6265Cookie

cookie 的Domain删除失败的问题

最近接手一个老项目,项目中使用的是cookie来做的处理的,新增的时候cookie添加了域, 但是删除的时候没有添加域,导致删除cookie的时候一直失败!还有cookie的创建与删除,应该都必需经过页面的刷新,或是页面跳过后 才有效.. 而ie删除cookie的时候成功了!如底下的js代码, document.execCommand("ClearAuthenticationCache") 试了下,IE下完全正常,如果说这么简单就解决这个问题的话,也太低估我们的浏览器大军了,FireF

EDU-PAAS文档转换工具

本软件为edu-paas的文档转换工具,为开源软件. 该软件支持 word 转PDF.word转Swf.Word转Png. Excel转Pdf.Excel转Swf.Excel转Png. PPT转Pdf.PPT转Swf.PPT转Png. PDF转Png.Pdf转Swf?有需要的朋友可以直接下载 下载地址 live.edu-paas.com/dowmCenter/EDU-DocumentConversionTool.zip 下面附上代码. demo.html 1 <!DOCTYPE html PUB

简谈-Python爬虫破解JS加密的Cookie

通过Fiddler抓包比较,基本可以确定是JavaScript生成加密Cookie导致原来的请求返回521. 发现问题: 打开Fiddler软件,用浏览器打开目标站点(http://www.kuaidaili.com/proxylist/2/) .可以发现浏览器对这个页面加载了两次,第一次返回521,第二次才正常返回数据.很多没有写过网站或是爬虫经验不足的童鞋,可能就会觉得奇怪为什么会这样?为什么浏览器可能正常返回数据而代码却不行? 仔细观察两次返回的结果可以发现: 1.第二次请求比第一次请求的

URL重写:RewriteCond指令与RewriteRule 指令格式

Rewirte基本的功能就是实现URL的跳转和隐藏真实地址,基于Perl语言的正則表達式规范.平时帮助我们实现拟静态,拟文件夹,域名跳转,防止盗链等.本文将针对mod_rewrite和URL匹配的技术细节,以及RewriteCond与RewriteRule 指令格式进行探讨. Rewirte模块内部处理 Rewirte模块的内部处理极为复杂,可是为了使一般用户避免犯低级错误.也让管理员能充分利用其功能.在此仍然做一下说明. Rewirte模块API阶段 首先,你必须了解Apache是分若干阶段来

.net学习之Session、Cookie、手写Ajax代码以及请求流程

1.IIS 7 以上版本集成了两种模式,一种是经典模式,一种是集成模式(直接将asp.net框架集成到IIS中) 2.浏览器和服务器端通过什么技术来实现的?Socket(套接字),通信的语法是HTTP协议,也就是请求报文和响应报文 3.浏览器请求asp.net页面实际是请求的asp.net页面里的ProcessRequest方法 4.请求一般处理程序时,找到ashx页面后台类ashx.cs,创建类对象并调用ProcessRequest方法,生成响应报文体,发回浏览器 5.post表单提交方式:数

Go Web:Cookie

Cookie用来解决http协议无状态的问题. 首先,在服务端生成Cookie,然后在http响应header中设置Set-Cookie字段,客户端会读取到Set-Cookie字段后,会将cookie信息存储起来,下次继续访问服务端时,会在http请求中设置Cookie字段并发送给服务端,服务端可以解析这个Cookie字段,从而知道这个客户端之前已经和自己有过会话(上下文),然后再执行相应的逻辑代码. Cookie分为两种类型:session cookie和persistent cookie.

ASP.NET Core 2.0使用Cookie认证实现SSO单点登录

之前写了一个使用ASP.NET MVC实现SSO登录的Demo,https://github.com/bidianqing/SSO.Sample,这个Demo是基于.NET Framework,.NET Core 2.0出来了试着使用ASP.NET Core尝试一下.假如我们有三个站点 domain.dev order.domain.dev passport.domain.dev domain.dev作为我们的主站肯定是可以匿名访问的,当点击登录按钮的时候就会跳转到passport.domain