aFleX脚本的常见错误备忘

A10的aFleX脚本语言是基于Tcl脚本语言的,下面是一些常见的错误。

--------------------------------------------------------------------------------

aFleX syntax error message “wrong # args: no script following”

注: aFleX 语法错误在Web界面下保存aFlex时显示或者命令行下检查(aflex check script-name)时显示.

这类错误通常在“if”所在行。Tcl脚本语言中,前花括号(“{”)必须与之前的后花括号(“}”)在同一行,而且之间必须有一个空格(“} {”)。

正确:

if { [HTTP::uri] starts_with “/private”)} {
xyz
}
错误(前花括号与上一个后花括号不在同一行):    

if { [HTTP::uri] starts_with “/private”)}
{
xyz
}

错误: ( 花括号间无空格)

if { [HTTP::uri] starts_with “/private”)}{
xyz
}

--------------------------------------------------------------------------------

aFleX execution abort errors – wrong variable name

注: aFleX execution abort error 统计可通过WEB界面(Monitor > Service > aFleX)和命令行(show aflex script-name)查看。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/Flex/

这类错误可能由于变量名中包含“ – ”。 aFleX 变量可以包含数字、字母和下划线( _ )。

正确:   set ip_addr “10.0.0.10″
错误:   set ip-addr “10.0.0.10″

--------------------------------------------------------------------------------

aFleX execution abort errors – HTTP header not present

这类错误可能由于aFleX脚本试图读取在请求或响应头中不存在的HTTP变量。例如,HTTP响应头中不一定总是有 “Location”,这个头通常只出现在服务器重定向应答 (响应代码 301 或 302)。

正确(判断存在该字段后才读取):

if { [HTTP::header exists "Location"]} {
if {[HTTP::header Location] contains “intranet.example.com”} {
xyz
}

错误(不做判断总是读取):    

if { [HTTP::header Location] contains “intranet.example.com”} {
xyz
}

--------------------------------------------------------------------------------

aFleX HTTP content rewrite not done

这并非aFleX错误,而是HTTP响应中的内容未成功修改。这个错误在服务器返回压缩内容时发生。为了避免服务器返回压缩内容,除了在服务器关闭压缩外,也可以通过删除HTTP请求头中“Accept-Encoding”字段让服务器认为客户端不支持压缩。

注: 如果为了节约带宽和改善用户响应时间,可以启用负载均衡的压缩功能在负载均衡和客户端之间进行压缩。

解决方案(删除请求头中“Accept-Encoding”字段避免服务器响应压缩):    

when HTTP_REQUEST {
HTTP::header remove Accept-Encoding
}
when HTTP_RESPONSE {
HTTP::collect
}
when HTTP_RESPONSE_DATA {
xyz
HTTP::release
}

(R.S.)

时间: 2024-10-02 11:11:00

aFleX脚本的常见错误备忘的相关文章

powerdns 常见维护备忘

 1. vcapple.com  dev.vpapple.com  qa.vpapple.com  10.199 反向解析  上述 DNS 数据修改时候, 只能够修改 master ( 10.199.132.152 ) 2. 当上述域名数据修改后,  数据会自动同步至 10.199.132.168 (slave) 与 10.199.129.21 (slave) 3. 10.199.132.152 (pdns, master ) 10.199.132.168 (pdns, slave) 与 1

oracle错误备忘(ORA-00354,ORA-00353和ORA-00312的处理方法)

昨天根据客户要求,增加了一个jasperreport实现的报表打印功能,然后在测试服务器上测试通过,因为看到测试数据库上的数据都太"旧"了,我就从正式环境下导出了OA系统的数据,导出操作一切顺利,在导入过程中却由于网络问题中断(因为我是远程导入,备份文件在我的机器上).再次连接数据库,一直报错,说什么只允许内部连接.远程重启了下oracle服务,登录数据库还是不行,发现数据库根本没打开,通过sqlplus执行     alter database open; 命令,报错: ORA-16

数易云备规避虚拟机备份五大常见错误

  据Gartner调查显示,服务器工作负荷虚拟化占比在2014年已经高达72%,并预言虚拟化比率仍将逐年攀升,甚至达到100%.与物理机相比,虚拟机显然在性价比上更具优势.这不仅体现在占用空间低.降低硬件设备采购成本.节省能源和维护成本低上,终端虚拟化还能大幅提升系统的安全性.在保障系统安全的同时,数据安全保护也是不容忽视的重点. 在数据备份方面,虚拟机备份与物理环境下的备份是不同的.由于虚拟环境的特点,虚拟机备份可能会遇到一些意想不到的问题,下面是小编网罗的虚拟机备份五大常见错误,我们一起来

mysql 数据库导入\导出(总结备忘)

 数据库的基本导入\导出的命令 是 mysqldump 和 source  在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin   先来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库   用source  也可以还原 但他导入文件时有大小限制不能超过2M 再来说说  mysqldump 和 source  用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个

技术备忘3

   shell单引号与变量 [root@test] a=55 [root@test] echo $a 55 [root@test] echo '$a' $a [root@test] echo ''$a'' #注意此处是两个单引不是一个双引 55 总结: 在单引号中引用变量,需要这样来写(单引号括起来双引号内的变量.) :   '"${a}"' 原文地址 date星期求取 <span style="font-family:Microsoft YaHei">

机器学习性能改善备忘单:32个帮你做出更好预测模型的技巧和窍门

机器学习最有价值(实际应用最广)的部分是预测性建模.也就是在历史数据上进行训练,在新数据上做出预测.  而预测性建模的首要问题是: 如何才能得到更好的结果? 这个备忘单基于本人多年的实践,以及我对顶级机器学习专家和大赛优胜者的研究. 有了这份指南,你不但不会再掉进坑里,而且会提升性能,甚至在你自己的一些预测难题中取得世界领先水平的结果. 让我们一起来看看吧! 注意:本文的结构基于早些时候另一篇关于改善深度学习性能的指南--<如何改善深度学习性能>   ◆ ◆ ◆ 概述 本备忘单的目的是为你提供

10个DIV+CSS常见错误

10个DIV+CSS常见错误,出了问题可以来参考下,是否您也犯了以下错误呢? 1. 检查HTML元素是否有拼写错误.是否忘记结束标记     即使是老手也经常会弄错div的嵌套关系.可以用dreamweaver的验证功能检查一下有无错误.     2. 检查CSS是否正确     检查一下有无拼写错误.是否忘记结尾的 } 等.可以利用CleanCSS来检查 CSS的拼写错误.CleanCSS本是为CSS减肥的工具,但也能检查出拼写错误.     3. 确定错误发生的位置     假如错误影响了整

ASP.NET中Datagrid常见错误

asp.net|datagrid|错误 摘要:学习如何避免在使用 ASP.NET Datagrid 控件进行开发时可能发生的一些常见错误. Datagrid 控件是 Microsoft? ASP.NET 中功能最强.用途最广的 Web 控件之一,这一点已经得到了 ASP.NET 权威人士的认同.虽然 Datagrid 控件易于使用,但同样易于给使用者带来麻烦.以下是许多人所犯的一些错误,这些人包括从初学者到富有经验的 .NET 专家.您可以看到许多苦闷的使用者在 ASP.NET 新闻组和论坛就这

Oracle数据库如何手动恢复备忘日志

最近因为升级了Mac os x 10.10 Yosemite,突然前几天的一个晚上,开机发现就停留在开机界面了,看来BETA果然是不靠谱,然后想到自己这不前几天刚备份完吗,没事,TimeMachine是何等神器,二话不说直接恢复.但是恢复完,我后悔了,一来是忘了昨天晚上还加班呢,加班的成功保留成果所剩无几,关键我这才发现TimeMachine既然不备份虚拟机文件(虚拟机文件30G,估计直接给略过了吧),难怪每次都觉得备份那么快. 不过后悔也没用,重新搭开发环境吧.操作系统WIN7->开发工具VS