6月 102010
 

Varnishが2.1.xに上がって管理ポートに接続する際にパスワードをかけられるようになりました。
でも実際のところどうするんでしょうか?

varnishadmを使う方法

この場合すごく簡単です
例えば起動パラメータが

1DAEMON_OPTS="-a :6081 \
2-T localhost:6082 \
3-f /etc/varnish/default.vcl \
4-u varnish -g varnish \
5-h classic,12978189 \
6-S /etc/varnish/secret \
7-s malloc,300M \
8-s file,/var/lib/varnish/varnish_storage.bin,1G"

の場合

1[root@LIP-APP-04 test]# varnishadm -T localhost:6082 -S /etc/varnish/secret
2200 154
3-----------------------------
4Varnish HTTP accelerator CLI.
5-----------------------------
6Type 'help' for command list.
7Type 'quit' to close CLI session.

といった風にコンソール入ることができます

telnetを使う場合


では別のマシンでなおかつvarnishadmがない場合はどうすればいいのでしょうか?
2.0.xではtelnetで操作出来ましたが

01[root@LIP-APP-04 test]# telnet localhost 6082
02Trying 127.0.0.1...
03Connected to localhost.localdomain (127.0.0.1).
04Escape character is '^]'.
05107 59
06mpbxeoihbicspallnytmeeawmaanjidv
07 
08Authentication required.
09 
10param.show
11101 44
12Unknown request.
13Type 'help' for more info.

と言ったふうにつながるものの操作ができません

そこで使うのがログインしたときにでる

1[root@LIP-APP-04 test]# telnet localhost 6082
2Trying 127.0.0.1...
3Connected to localhost.localdomain (127.0.0.1).
4Escape character is '^]'.
5107 59
6zuuwxjvjxnlorauvkmbwehzypqegjexl★これ
7 
8Authentication required.

このzuuwxjvjxnlorauvkmbwehzypqegjexlという謎文字列と
/etc/varnish/secretファイルの中身

1[root@LIP-APP-04 ~]# cat /etc/varnish/secret
2syNpcH!60★これ

のsyNpcH!60を使います
viでもcatでも何でもいいのでファイルの中身が
zuuwxjvjxnlorauvkmbwehzypqegjexl\nsyNpcH!60\nzuuwxjvjxnlorauvkmbwehzypqegjexl
でファイルをつくります(ここではloginとします)
そのできたファイルをsha256sumにかけた結果をメモります

01[root@LIP-APP-04 ~]# cat login
02zuuwxjvjxnlorauvkmbwehzypqegjexl
03syNpcH!60
04zuuwxjvjxnlorauvkmbwehzypqegjexl
05[root@LIP-APP-04 ~]# hexdump -C login
0600000000  7a 75 75 77 78 6a 76 6a  78 6e 6c 6f 72 61 75 76  |zuuwxjvjxnlorauv|
0700000010  6b 6d 62 77 65 68 7a 79  70 71 65 67 6a 65 78 6c  |kmbwehzypqegjexl|
0800000020  0a 73 79 4e 70 63 48 21  36 30 0a 7a 75 75 77 78  |.syNpcH!60.zuuwx|
0900000030  6a 76 6a 78 6e 6c 6f 72  61 75 76 6b 6d 62 77 65  |jvjxnlorauvkmbwe|
1000000040  68 7a 79 70 71 65 67 6a  65 78 6c 0a              |hzypqegjexl.|
110000004c
12[root@LIP-APP-04 ~]# sha256sum login
130491b1160a491e33d428c28562f009bbd1b1f5ea7a85dd8312ddf366f9d30e5a  login

そこで得た値をtelnetで接続した後に
auth [sha256sumの結果]
と打ちます

01[root@LIP-APP-04 test]# telnet localhost 6082
02Trying 127.0.0.1...
03Connected to localhost.localdomain (127.0.0.1).
04Escape character is '^]'.
05107 59
06zuuwxjvjxnlorauvkmbwehzypqegjexl
07 
08Authentication required.
09 
10auth 0491b1160a491e33d428c28562f009bbd1b1f5ea7a85dd8312ddf366f9d30e5a
11200 154
12-----------------------------
13Varnish HTTP accelerator CLI.
14-----------------------------
15Type 'help' for command list.
16Type 'quit' to close CLI session.

これで認証がすみました
すんごくややこしいです
しかもこのキーは毎回使えるわけではなくワンタイムで変わったりします><

2010/06/12追記

1-S /etc/varnish/secret \

のオプションを外せば今まで通りパス認証なしでいけます。
もちろんIP制限だけも可能です。

参考サイト
The Varnish Command Line Interface


  One Response to “意外とややこしいパスワードがかかったVarnish管理ポートへの接続方法”

  1. […] This post was mentioned on Twitter by \いわなちゃん/, \いわなちゃん/. \いわなちゃん/ said: [blog] http://is.gd/cK5Bt […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

This site uses Akismet to reduce spam. Learn how your comment data is processed.