在使用scrapy-redis中 ,運行命令時 報錯 ResponseError: NOAUTH Authentication required. 通過查閱資料發現是給redis加了密碼。 去掉密碼後能夠運行了。redis
Redis默認配置是不須要密碼認證的,也就是隻要鏈接Redis服務器的host和port正確,就能夠鏈接使用。這在安全上會有必定的問題,因此須要啓用Redis的認證密碼,增長Reids服務器的安全性。vim
1.修改配置文件安全
Redis配置文件在redis根目錄下,在設置redis自啓動後,在/etc/redis/6379.conf也含有一個配置文件:服務器
# vim /etc/redis/6379.conf 找到以下行 #requirepass foobared 去掉前面的註釋,並修改成所須要的密碼: requirepass redis
2.重啓Redisscrapy
# service redis restart 也能夠: # /usr/local/bin/redis-cli shutdown # /usr/local/bin/redis-server /etc/redis/6379.conf
3.登陸驗證ui
設置Redis認證密碼後,客戶端登陸時須要使用** -a**參數輸入認證密碼,不添加該參數雖然也能夠登陸成功,可是沒有操做權限。以下:命令行
# ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379>ping (error) NOAUTH Authentication required. 使用密碼認證以後,並驗證操做權限: # ./redis-cli -h 127.0.0.1 -p 6379 -a redis 127.0.0.1:6379>config get requirepass 1) "requirepass" 2) "redis" ## 密碼 127.0.0.1:6379>ping pong 也能夠在鏈接後認證: # ./redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> auth myPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "myPassword" 127.0.0.1:6379>
4.在命令行客戶端配置密碼(不須要從新啓動Redis)rest
配置方式以下:code
127.0.0.1:6379> config set requirepass newPassword OK 127.0.0.1:6379> config get requirepass 1) "requirepass" 2) "newPassword
注意:使用命令行客戶端配置密碼,重啓Redis後仍然會使用 redis.conf配置文件中的密碼。server
5.在Redis集羣中使用認證密碼
若是Redis服務器,使用了集羣。除了在master中配置密碼外,也須要在slave中進行相應配置。在slave的配置文件中找到以下行,去掉註釋並修改與master相同的密碼便可:
masterauth master-password