我正在尝试为在 localhost:8080 (Tomcat) 上运行的 Web 应用的连接添加一些延迟。我尝试添加以下内容:
sudo ipfw pipe 1 config delay 500ms
sudo ipfw add 1 pipe 1 dst-port 8080
但在浏览器中,根据浏览器的调试器,我看到对 Web 应用的请求在 10ms 内完成。是不是我的管道配置中遗漏了某些内容,或者只是没有理解浏览器在说什么?
我也尝试过添加很长的延迟(最多几秒钟),但它似乎并没有阻止我:telnet localhost 8080
并立即连接。
答案1
我自己也在尝试这个。尝试将你的 src-port 也设置为相同。
这对我来说很好:
# sudo ipfw pipe 1 config delay 500ms
# sudo ipfw add 1 pipe 1 src-port 9160
# sudo ipfw add 2 pipe 1 dst-port 9160
查看 ipfw 设置也有助于调试任何问题:
# sudo ipfw show
00001 58 69110 pipe 1 ip from any 9160 to any
00002 59 3138 pipe 1 ip from any to any dst-port 9160
# sudo ipfw pipe show
00001: unlimited 500 ms 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 127.0.0.1/53547 127.0.0.1/9160 270 92414 0 0 0
就我而言,我使用的是 Cassandra,而且它(痛苦地)显然有效。
答案2
对于我来说,解决方案是使用 IP 地址:
telnet localhost <port>
(立即连接)
telnet 127.0.0.1 <port>
(按预期工作)