Squidを利用したプロキシサーバを経由してhttps通信を行う際、通常なら443番のSSLポートを許可していればよいのですが、それ以外のポートを使用する場合は、設定ファイル(squid.conf)の2カ所に設定を追加する必要があります。
目次
設定不足でエラーが出る
冒頭で「2カ所」と記述しましたが、察しの良い方は問題なく設定しているはずです。
squid.confで設定が必要な箇所を一部抜粋します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
・・・ acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http ・・・ |
著者の場合、4343番のSSLポートを使用したかったので、以下の設定を追加してみました。
1 |
acl Safe_ports port 4343 |
すると、ログでこのようなエラーが…
1 |
1234567890.123 0 192.168.100.xxx TCP_DENIED/403 3757 CONNECT example.com:4343 – HIER_NONE/- text/html |
ちなみに403エラーとは、権限がない、アクセス拒否といったものです。
Safe_portsとSSL_ports
設定内容をよく見ればわかることでした。
上記で設定した内容以外に、もう1カ所にも設定が必要です。(両方必要)
1 2 |
acl SSL_ports port 4343 acl Safe_ports port 4343 |
また、複数のSSLポートを使用する場合は、例としてこのように設定します。
1 2 3 4 |
acl SSL_ports port 443 4343 14943 acl Safe_ports port 443 acl Safe_ports port 4343 acl Safe_ports port 14913 |
下記の設定を生かしている場合は、1025番ポート以降はSafe_ports
の設定は不要だと思います。
1 |
acl Safe_ports port 1025-65535 # unregistered ports |
最後に、もちろんこの設定も生かしておいてくださいね!
1 |
http_access deny CONNECT !SSL_ports |
以上です。
これで正常に通信ができました!
squidで sslポートが 443以外だと…
squid.conに acl SSL_ports port に該当するポートを足さないといけないんだが… …
コメント