2016-09-23 54 views
0

我試圖使用Azure Redis Cache作爲我Hubot大腦的存儲。在Node.js中使用Azure Redis緩存(對於Hubot的大腦)?

我按照說明here來配置Redis大腦。我還嘗試了SSL和未加密的連接,因爲我讀here Redis Node客戶端不支持SSL。

我還將hubot-redis-brain中的Redis客戶端從0.8.4更新爲2.6.2,但我的Hubot仍無法連接到Redis。

這裏是端口配置在Azure中的屏幕截圖:

enter image description here

當我Hubot開始是這樣的輸出:

[Fri Sep 23 2016 09:00:14 GMT+0100 (GMT Daylight Time)] INFO hubot-redis-brain: Discovered redis from REDISTOGO_URL environment variable 
node_redis: Deprecated: The AUTH command contains a "undefined" argument. 
This is converted to a "undefined" string now and will return an error from v.3.0 on. 
Please handle this in your code to make sure everything works as you intended it to. 
[Fri Sep 23 2016 09:00:21 GMT+0100 (GMT Daylight Time)] ERROR hubot-redis-brain: Failed to authenticate to Redis 
[Fri Sep 23 2016 09:00:21 GMT+0100 (GMT Daylight Time)] ERROR ReplyError: Ready check failed: NOAUTH Authentication required. 
    at parseError (C:\projects\hubot-tryout\node_modules\redis-parser\lib\parser.js:163:12) 
    at parseType (C:\projects\hubot-tryout\node_modules\redis-parser\lib\parser.js:224:14) 

任何幫助將不勝感激。

UPDATE

這是我使用的連接加密代碼:

client = Redis.createClient("6379", "my-host.redis.cache.windows.net" , { auth_pass: "access-key" }) 

這對於加密連接:

client = Redis.createClient("6380", "my-host.redis.cache.windows.net" , { auth_pass: "access-key" }), tls: {servername: 'my-host.redis.cache.windows.net'} }) 

回答

0

我會嘗試編碼網址密碼。我想知道,如果你正在運行到此處介紹使用Azure的Redis的PHP的會話同樣的問題...

https://azure.microsoft.com/en-us/documentation/articles/cache-faq/#can-i-use-azure-redis-cache-as-a-php-session-cache

+0

感謝喬恩。我試着用'encodeURIComponent()'編碼密碼,但現在我得到一個'ERROR ReplyError:ERR invalid password'錯誤。 –

+0

從我們的內部測試看來,使用'{auth_pass:「訪問鍵」}'方法時,它看起來像URL編碼**不是必需**。 URL編碼只是密碼** IS是必需**當使用''redis://[email protected]:6379「'方法 – JonCole

+0

感謝Jon。你有沒有在香草節點應用程序和Hubot工作? –