web-dev-qa-db-ja.com

ipfwがローカルホスト(OS X)でリクエストを遅らせない

Localhost:8080(Tomcat)で実行されているWebアプリへの接続に遅延を追加しようとしています。私は以下を追加しようとしました:

Sudo ipfw pipe 1 config delay 500ms
Sudo ipfw add 1 pipe 1 dst-port 8080

しかし、ブラウザーでは、ブラウザーのデバッガーによると、10ミリ秒未満でWebアプリのターンアラウンドへの要求を監視しています。パイプ構成に何かが欠けているか、ブラウザーが何を言っているのか理解していない可能性はありますか?

また、非常に長い遅延(最大数秒)を追加しようとしましたが、次の理由で停止するようには見えません:telnet localhost 8080そしてすぐに接続します。

1
Bradley

私はこれを自分で遊んでいます。 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を使用していますが、(痛々しいほど)明らかに機能します。

1
gak

私にとっての解決策は、IPアドレスを使用することでした。

telnet localhost <port>(すぐに接続します)

telnet 127.0.0.1 <port>(期待どおりに機能します)

0
Pablo Fernandez