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