Varnishが2.1.xに上がって管理ポートに接続する際にパスワードをかけられるようになりました。
でも実際のところどうするんでしょうか?
varnishadmを使う方法
この場合すごく簡単です
例えば起動パラメータが
3 | -f /etc/varnish/default.vcl \ |
6 | -S /etc/varnish/secret \ |
8 | -s file ,/var/lib/varnish/varnish_storage.bin,1G" |
の場合
3 | ----------------------------- |
4 | Varnish HTTP accelerator CLI. |
5 | ----------------------------- |
6 | Type 'help' for command list. |
7 | Type 'quit' to close CLI session. |
といった風にコンソール入ることができます
telnetを使う場合
では別のマシンでなおかつvarnishadmがない場合はどうすればいいのでしょうか?
2.0.xではtelnetで操作出来ましたが
03 | Connected to localhost.localdomain (127.0.0.1). |
04 | Escape character is '^]' . |
06 | mpbxeoihbicspallnytmeeawmaanjidv |
08 | Authentication required. |
13 | Type 'help' for more info. |
と言ったふうにつながるものの操作ができません
そこで使うのがログインしたときにでる
3 | Connected to localhost.localdomain (127.0.0.1). |
4 | Escape character is '^]' . |
6 | zuuwxjvjxnlorauvkmbwehzypqegjexl★これ |
8 | Authentication required. |
このzuuwxjvjxnlorauvkmbwehzypqegjexlという謎文字列と
/etc/varnish/secretファイルの中身
のsyNpcH!60を使います
viでもcatでも何でもいいのでファイルの中身が
zuuwxjvjxnlorauvkmbwehzypqegjexl\nsyNpcH!60\nzuuwxjvjxnlorauvkmbwehzypqegjexl
でファイルをつくります(ここではloginとします)
そのできたファイルをsha256sumにかけた結果をメモります
02 | zuuwxjvjxnlorauvkmbwehzypqegjexl |
04 | zuuwxjvjxnlorauvkmbwehzypqegjexl |
06 | 00000000 7a 75 75 77 78 6a 76 6a 78 6e 6c 6f 72 61 75 76 |zuuwxjvjxnlorauv| |
07 | 00000010 6b 6d 62 77 65 68 7a 79 70 71 65 67 6a 65 78 6c |kmbwehzypqegjexl| |
08 | 00000020 0a 73 79 4e 70 63 48 21 36 30 0a 7a 75 75 77 78 |.syNpcH!60.zuuwx| |
09 | 00000030 6a 76 6a 78 6e 6c 6f 72 61 75 76 6b 6d 62 77 65 |jvjxnlorauvkmbwe| |
10 | 00000040 68 7a 79 70 71 65 67 6a 65 78 6c 0a |hzypqegjexl.| |
13 | 0491b1160a491e33d428c28562f009bbd1b1f5ea7a85dd8312ddf366f9d30e5a login |
そこで得た値をtelnetで接続した後に
auth [sha256sumの結果]
と打ちます
03 | Connected to localhost.localdomain (127.0.0.1). |
04 | Escape character is '^]' . |
06 | zuuwxjvjxnlorauvkmbwehzypqegjexl |
08 | Authentication required. |
10 | auth 0491b1160a491e33d428c28562f009bbd1b1f5ea7a85dd8312ddf366f9d30e5a |
12 | ----------------------------- |
13 | Varnish HTTP accelerator CLI. |
14 | ----------------------------- |
15 | Type 'help' for command list. |
16 | Type 'quit' to close CLI session. |
これで認証がすみました
すんごくややこしいです
しかもこのキーは毎回使えるわけではなくワンタイムで変わったりします><
2010/06/12追記
1 | -S /etc/varnish/secret \ |
のオプションを外せば今まで通りパス認証なしでいけます。
もちろんIP制限だけも可能です。
参考サイト
The Varnish Command Line Interface
[…] This post was mentioned on Twitter by \いわなちゃん/, \いわなちゃん/. \いわなちゃん/ said: [blog] http://is.gd/cK5Bt […]