hubot-redis-brainで認証付きRedisサーバを設定する
この記事では hubot-redis-brain 0.0.3 を使用しています
hubot-redis-brain のRedisサーバに Azure Redis Cache を使用してみました。
(SSLアクセスするようにした方が良いかなと思いましたがいったんhttpで進めました)
Azure Portal で Azure Redis Cache の接続情報を見ると、接続時にパスワードの指定が必要です。
hubot-redis-brain の使用するRedisサーバをどのように設定するのか、調べながら進めました。
結論
環境変数 REDIS_URL に redis://${auth}@${host}:${port}/${prefix}
の形式で設定
パラメータ | デフォルト | 設定値 |
---|---|---|
auth | パスワード認証が必要な場合は、 :${password} で指定。パスワード前に':'がある点に注意!
|
|
host | RedisサーバのFQDN、IPアドレス | |
port | 6379 | ポート |
prefix | hubot | Redisに投入する際のキーのプリフィックス |
はまった流れ
まずは hubot-redis-brain が使用するRedisサーバの設定方法を調べました。
https://github.com/hubot-scripts/hubot-redis-brain を見ると、以下のような記載がありました。
hubot-redis-brain requires a redis server to work. It uses the REDIS_URL environment variable for determining where to connect to. The default is on localhost, port 6379 (ie the redis default).
The following attributes can be set using the REDIS_URL
authentication
hostname
port
key prefix
For example, export REDIS_URL=redis://[email protected]:16379/prefix would authenticate with password, connecting to 192.168.0.1 on port 16379, and store data using the prefix:storage key.
REDIS_URLに redis://${password}@${host}:${port}/${prefix}
の形で設定すれば良さそうなので早速設定してみました。
ログを見ると接続には成功しているようですが、Redisに対して情報が投入されません。
INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
DEBUG hubot-redis-brain: Successfully connected to Redis
通常、URLに認証情報を埋め込む場合は http://user:[email protected]/
のように書きます。
ホスト情報の前に
hubot-redis-brain のコードを見てみると${password}部分は認証情報としてみており、それを':'でsplitして2番目のパラメータをパスワードとして利用していました。
redis://:${password}@${host}:${port}/${prefix}
の形式で設定してみると、Redisに情報が投入され始めました!
ログにも認証に成功した旨が表示されました。
INFO hubot-redis-brain: Discovered redis from REDIS_URL environment variable
INFO hubot-redis-brain: Successfully authenticated to Redis
DEBUG hubot-redis-brain: Successfully connected to Redis
INFO hubot-redis-brain: Data for hubot brain retrieved from Redis
めでたしめでたし。
Author And Source
この問題について(hubot-redis-brainで認証付きRedisサーバを設定する), 我々は、より多くの情報をここで見つけました https://qiita.com/t_tmnr/items/79611b47218f66fda9af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .