squidによるproxyサーバ構築中にユーザ追加でつまづいたのでメモとして残します。
パスワードファイルの作成
パスワードファイルの所在については
/etc/squid/squid.conf
に記述しますが、ここでは
/etc/squid/passwd
とします。
htpasswd -c /etc/squid/passwd ユーザ名
ユーザの追加
普通に書いてみる
htpasswd /etc/squid/passwd ユーザ名
ユーザ名に円マーク(バックスラッシュ、¥、\)がある場合
たとえば
aaa\bbb
というユーザを追加したい場合
htpasswd /etc/squid/passwd aaa\bbb ←これではダメ
htpasswd /etc/squid/passwd aaa\\bbb ←これが正しい
「¥」を2つ入力しないと「¥」がなくなります
(/etc/squid/passwdを開いて確認できます)
ユーザ名に大文字がある場合
htpasswd /etc/squid/passwd AAA\\bbb
こんなユーザを追加し、/etc/squid/passwdを開くと・・・
cat /etc/squid/passwd
AAA\bbb ←もちろん大文字で登録されている
ですが、いざブラウザ等からBasic認証しようとしユーザ名に「AAA\bbb」と入力しても認証できず。。。
squidのログを見ると・・・
xxx.xxx.xxx.xxx - aaa\bbb [05/Apr/2017:20:57:13 +0900] "CONNECT xxx.xxx.xxx.xxx:443 HTTP/1.0" >Hs 15684 "-" "-" TCP_MISS:DIRECT
あれ?ユーザ名が小文字に・・・!?
よって、「AAA\bbb」ではなく「aaa\bbb」を登録するとBasic認証できました。