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


  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)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください