Amazon-Ec2
使用 IPtables 防止 squid 轉發循環
我有一個網路應用程序,我想限製文件上傳大小。
我想我會嘗試使用 squid,通過它的指令 request_body_size_max。
我的網路伺服器在埠 8080 上執行,並且我在同一台伺服器(Ubuntu 12.04 LTS)上安裝了 squid 3.1.19。該伺服器在 Amazon 的 EC2 上執行,如果這有什麼不同的話。
squid.conf 包含:
http_port 3128 transparent
我添加到 IPTables:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 3128
當我訪問網路伺服器時,魷魚日誌中的結果是:
Forwarding loop detected.
我需要做什麼來防止這種情況發生?謝謝…
問題是當 squid 嘗試連接到 Web 伺服器(在埠 8080 上)時,它的請求也被重定向到它自己。您必須限制 REDIRECT 規則的範圍(例如,基於傳入介面)。
如果您伺服器上的外部介面是 eth0,則更改如下規則:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8080 -j REDIRECT --to-port 3128
**更新:**第二個想法看起來我錯了。本地 (127.0.0.1) 流量不通過 PREROUTING 鏈。
你是如何告訴 squid 使用哪個上游 Web 伺服器的?