皆さんこんにちは。今回は自宅にProxyサーバを導入してみて特定サイトにつながらくなってしまった時のメモです。
結論から言うとSquidの設定でHTTPSで利用できるポートを絞ってるので「443」以外のポートを使ってHTTPS通信を行いたい場合は、設定ファイルに該当のポート番号を追加してあげる必要があります。
経緯は以下の通りです
- 自宅になんとなくSquidを導入してみる(設定はデフォルト)
- 普段通りネットサーフィンでき特に問題はなかった
- 自宅NW機器の管理画面にWebアクセスすると403が返されて見れない
- https://172.16.20.254:8443
- Proxyの設定をOFFにするといつも通り見える
- Squidのログを確認すると以下のエラーが出力されていた
- Dec 22 07:27:06 proxy-srv-01 (squid-1)[1401]: 172.16.20.3 – – [22/Dec/2021:07:27:06 -0500] “CONNECT 172.16.20.254:8443 HTTP/1.1” 403 4001 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36” TCP_DENIED:HIER_NONE
- 「403」で「TCP_DENIED:HIER_NONE」って何だとしばらく頭を悩ませる。。。
- Squidの設定ファイル眺めて以下の設定があるのに気付く
- acl SSL_ports port 443
- http_access deny CONNECT !SSL_ports
- 「8443」ポートを追加してSquidを再起動で事象解消
- acl SSL_ports port 443 8443
- systemctl restart squid
プロトコルで利用するポートを絞るって結構厳しい設定だなと思いつつ、なかなかポートのACL設定に気づきませんでした。普段使いでは困る場面はなかなかないですが、明示的に利用ポートを変えているNW機器などの管理画面だと今回のようなトラブルが起こりますね。
結構あるあるのトラブルかと思いますが普段あまり触らないと意識しない箇所かもしれませんね。
これを機にもう少しSquidの設定ファイルを眺めてみようかと思います。
それではまた。
参考:
ポート指定でプロキシ(squid)を経由すると拒否される
【図解】httpプロキシサーバの仕組み(http GET/https CONNECTメソッド)や必要性・役割・メリットデメリット・DNSの名前解決の順序