Squidインストール
自己署名証明書作成
散らかるので、適当なディレクトリを作ってその中で作成する。
期限はここでは10年 (3650日) にした。CSRを作るときに色々聞かれるけど、どこかに持ち出す可能性があるならCommon Nameくらいはちゃんと書いといた方がいいかも。
これでできた private.key
が秘密鍵で、server.crt
が証明書。
Basic認証のパスワードファイル作成
ここではユーザー名 hoge
、パスワード piyo
、保存先は /path/to/passwd
とする。
Squidの設定
ここでは待ち受けポートは 8081
とする。
Basic認証に使う /usr/lib64/squid/basic_ncsa_auth
は、環境によっては lib64
じゃなくて lib
かもしれない。というか basic_ncsa_auth
じゃないかもしれない。実在するか先に確認しておくこと。
設定し終わったらサービス再起動する。すでに上がってる場合、地味に停止に30秒くらいかかる。
動作確認
ここではプロキシのIPは 111.111.111.111
とする。
cURLでプロキシ挿してどこかにアクセスしてみる。対象はHTTPでもHTTPSでもOK。できればアクセス元のIPアドレスが表示されるサイトだと、ちゃんと挿さってるか真に確認できる。
プロキシがオレオレなので --proxy-insecure
をつけないとエラーになる。
あと、Windows版cURLではそもそもhttpsプロキシがサポートされてないっぽいので、プロキシとは別のLinuxからじゃないと確認できない。
念のため、プロキシのURLがHTTPだとアクセスできないことも確認する。
以上!
参考にさせていただいた記事
NginxでBasic認証させる件 - Qiita
https\_port
squidで相手先に送信されるプロキシサーバーの情報を隠してみる · mechamogera/MyTips Wiki · GitHub