使用地理定位数据库从用户IP地址检索位置详细信息
请注意该特性在Citrix ADC发行版12.1 build 50中可用。x和。
Citrix ADC设备可以获得用户位置的详细信息,如大洲、县和城市。查找地理位置数据库中的任何公共IP地址。它使用先进的策略基础结构来执行。然后在重写操作或响应器操作中使用检索到的位置详细信息,以执行以下用例。
- 在将客户端请求发送到后端服务器时,插入带有用户位置详细信息(如国家、城市信息)的HTTP报头。
- 在无效用户的HTML页面响应中添加国家名称。
该设备还可以使用审计日志机制记录位置详细信息。
使用地理位置函数获取用户位置详细信息
各组件按以下方式相互作用:
- 用户从特定的地理位置发送客户端请求。
- Citrix ADC设备从客户端请求中查找用户IP地址,并检索地理位置详细信息。详细信息包括来自地理位置数据库的大洲、国家、地区、城市、ISP、组织或自定义详细信息。
- 一旦检索到位置详细信息,该设备将使用响应器策略或重写策略来评估请求。
- 在重写策略中,设备添加带有地理位置详细信息的头并将其发送到后端服务器。例如,插入一个带有国家信息的自定义HTTP标头。
- 在响应器策略中,设备评估HTTP请求,并基于策略评估,允许访问用户或将用户重定向到错误页面。它声明用户访问应用程序的区域没有访问权限。
建立地理位置数据库
作为先决条件,您必须有一个在Citrix ADC设备上运行的地理位置数据库。Citrix ADC固件提供地理位置数据库文件。要从供应商下载数据库文件,请将其转换为Citrix ADC格式并将其导入到您的设备中。有关地理位置数据库的更多信息,请参见添加位置文件以创建静态接近数据库的话题。
地理定位功能
下表给出了检索任何公共IP地址的位置详细信息的geolocation函数列表。这些函数可用于重写或响应器策略。
地理定位功能 | 例子 |
---|---|
CLIENT.IP.SRC.LOCATION | Asia.In.Karnataka.Bangalore |
CLIENT.IP.SRC.LOCATION.GET (1) .LOCATION_LONG | 印度 |
CLIENT.IP.SRC.LOCATION (3) | Asia.In.Karnataka |
CLIENT.IP.SRC.LAT_LONG | 12日,77年 |
CLIENT.IPV6.SRC.LOCATION | 北America.US.California.Santa Clara.Verizon.Citrix |
CLIENT.IPV6.SRC.LOCATION (3) | 北America.US.California |
CLIENT.IPV6.SRC.LOCATION.GET (1) .LOCATION_LONG | 美国 |
CLIENT.IPV6.SRC.LOCATION.GET (3) | 加州 |
CLIENT.IPV6.SRC.LAT_LONG | 36岁,-119年 |
配置地理定位功能
要使用高级策略基础设施配置地理定位功能,您必须启用负载平衡、重写和响应器特性,然后完成以下用例。
启用负载均衡、响应器、重写功能
如果希望Citrix ADC设备授权来自特定地理位置的用户访问,则必须启用负载平衡、重写和响应器特性。
启用ns特性loadbalancing重写响应器
用例1:配置地理定位功能,将无效用户重定向到地理位置之外
当来自印度的用户请求访问某个网页时,阻止该请求并使用带有国家名称的HTML页面进行响应。
以下步骤帮助您完成此用例的配置。
- 添加响应器操作
- 添加应答策略
- 将响应器策略绑定到负载均衡服务器
有关重写操作和重写策略配置的GUI过程的更多信息,请参见应答器主题
添加响应器操作
添加一个响应器操作,以响应带有国家名称的HTML页面。在命令提示符处,输入:
add responder action ( | ) [-comment ] [-responseStatusCode ][-reasonPhrase ]
例子:
添加响应器动作responder_act response with "HTTP.REQ。VERSION + \" 304请求页面在您的国家不允许- \" + CLIENT.IP.SRC.LOCATION.GET (1).LOCATION_LONG + \"\r\n\""
添加审计日志消息操作
可以配置审计消息操作,以记录各种日志级别的消息,可以仅以syslog格式记录,也可以同时以syslog和格式记录newnslog
格式。审计消息操作使用表达式指定审计消息的格式。使用命令行接口创建审计消息操作
在命令提示符处,输入:add audit messageaction
例子:
add audit messageaction ms1 DEBUG "\"请求位置:\"+CLIENT.IP.SRC。位置“< !——NeedCopy >
添加应答策略
添加一个响应器策略,以识别来自印度的请求,并将响应器操作与该策略关联起来。在命令提示符处,输入:
add responder policy [] [-comment ] [-logAction ] [-appflowAction ]
例子:
add responder policy responder_pol CLIENT.IP.SRC.MATCHES_LOCATION("Asia.India.*.*.*.* .*")——NeedCopy >
将响应器策略绑定到负载均衡服务器
将响应器策略绑定到HTTP/SSL类型的负载均衡虚拟服务器。在命令提示符处,输入:
bind lb vserver -policyName < policy_name > -priority <> -type
例子:
bind lb vserver http_vserver -policyName responder_pol -priority 100 -type REQUEST
用例2:配置地理定位功能,用于插入新的HTTP头,其中包含后端响应的位置详细信息
考虑这样一个场景,Citrix ADC设备必须在发送给应用程序服务器的请求的HTTP报头中插入用户位置,以便服务器可以将该信息用于某些业务逻辑。以下步骤帮助您完成此用例的配置。
- 添加修改操作
- 添加修改政策
- 将重写策略绑定到负载均衡
有关重写操作和重写策略配置的GUI过程的更多信息,请参见应答器的话题。
添加修改操作
添加一个重写动作,在请求中插入一个带有用户地理位置详细信息的自定义HTTP标头,并将其发送给后端服务器。在命令提示符处,输入:
add rewrite action [] [-search ] [-refineSearch ][-comment ]
例子:
“User_location”客户端:ip . src . location——NeedCopy >
添加修改政策
添加一个重写策略来评估是否必须运行重写操作。在这种情况下,所有发送到应用服务器的请求都必须有一个自定义的HTTP头,因此该规则可以为“true”。在命令提示符处,输入:
add rewrite policy [] [-comment ] [-logAction ]
例子:
添加重写策略rewrite_pol true rewrite_act -logaction log_act
将重写策略绑定到负载均衡
将重写策略绑定到所需的HTTP/SSL类型的负载均衡虚拟服务器。在命令提示符处,输入:
bind lb vserver -policyName < policy_name > -priority <> -type
例子:
bind lb vserver http_vserver -policyName rewrite_pol -priority 100 -type REQUEST
Syslog支持记录地理位置详细信息(可选)
如果希望记录用户的地理位置详细信息,则必须指定当请求匹配策略时执行的SYSLOG操作。设备将详细信息作为日志消息存储在ns.log文件中。更多关于SYSLOG和NSLOG审计的信息,请参见审计日志记录的话题。
用户地理位置详细信息的输出
以下输出使用SYSLOG或记录在设备中newnslog
如果您试图从班加罗尔位置访问应用程序,并且该设备使用地理定位功能," CLIENT.IP.SRC.LOCATION '。
Asia.India.Karnataka.Banglore < !——NeedCopy >
样例输出日志:
GMT调试0- pe -0: default REWRITE Message 22 0: "Request Location: asia.in.karnataka.bangalore.*. "调试0- pe -0: default RESPONDER Message 32 0 Done