post by tommy @ 12 七月, 2011 10:25
這兩天上 pchome 買東西時, 發現要結帳時會無法連線, 查了半天, 查不出有什麼問題, 後來不小心發現, 只要把 proxy 關閉就可以直接連線. 後來進一步測試, 發現所有的 https 連線, 只要透過家裡的 squid proxy 就會無法使用. 看起來像是 squid 所造成的問題. 看一下 squid 的 log, 發現有下面的訊息:
comm_open: socket failure: (97) Address family not supported by protocol
用 google 查了一下, 這個應該與 IPv6 有關.
上個月我把 IPv6 在 kernel 裡頭編譯成模組, 但因為還未打算使用, 所以並沒有任何的設定, 也沒有載入這個模組. 因為這樣, 反而造成 squid 無法使用 https.
目前的解決方法只有:
- 完全不使用 IPv6, 也就是 kernel 或 squid 本身不要加入 IPv6 的支援, 就不會有這個問題.
- 不要把 kernel 的 IPv6 關閉 (如 alias net-pf-10 off), 如果怕 IPv6 的異常連線, 可以先用 ip6tables 把預設的 policy 改成 drop.
我目前是先用第二種方式.