首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我在BIG-IP F5上的iRules不工作?

为什么我在BIG-IP F5上的iRules不工作?
EN

Stack Overflow用户
提问于 2014-08-19 09:41:29
回答 1查看 1K关注 0票数 0

我想限制来自一个客户端的HTTP::请求速率,下面是我的iRules:

代码语言:javascript
复制
when HTTP_REQUEST {
    if { [HTTP::uri] == "/user/loginPub.jsp" } {
        if { [clock seconds] == $cur_time } {
            if { $req_count > 1 } {
                HTTP::respond 501 content "request blocked."
            }
            incr req_count
            return
        }
        set req_count 0
        set cur_time [clock seconds]
    }
}

但是当我将其应用于虚拟服务器时,带有该uri (/user/loginPub.jsp)的请求被重置。Chrome显示“连接重置”。

为什么它不起作用?哪里错了?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-31 06:11:19

此规则不应导致连接重置,因此我怀疑该站点存在其他问题。也就是说,它也不会做你想要的事情。时钟秒永远不会等于$cur_time,因为在使用它之前没有给$cur_time赋值。

有一个很好的例子,你应该能够适应F5的网站上的速率限制规则:

https://devcentral.f5.com/login?returnurl=%2fWiki%2fiRules.RateLimit_HTTPRequest.ashx

(阅读这篇文章需要免费帐户。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25374464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档