サーバーでピンポンredisをpingできます
# redis-cli ping
PONG
しかし、リモートで問題が発生しました:
$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused
設定では、標準ポートを取得しました:
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
したがって、リモートのubuntuマシンでポート6379を開く必要がありますか?どうやるか?
Redisサーバーでリモートアクセスを許可するようにバインドオプションを設定しましたか?
前(ファイル/etc/redis/redis.conf
)
bind 127.0.0.1
後
bind 0.0.0.0
Sudo service redis-server restart
を実行してサーバーを再起動します。それが問題でない場合は、アクセスをブロックする可能性のあるファイアウォールを確認することをお勧めします。
重要:ファイアウォール(iptables、ufw ..)を使用して、使用中のポートに接続するユーザーを制御しない場合、誰でもこれに接続できます。 Redisインスタンス。 Redis 'AUTH
を使用しないと、誰でもデータにアクセス、変更、削除できます。安全に!
私にとっては、次のことをする必要がありました。
1-コメントbind 127.0.0.1
2- protected-mode
をno
に変更します
3- iptables
でサーバーを保護します( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on- ubuntu-14-04 )
Redisサーバーをさらにセキュリティ保護せずにこれを行うことは、攻撃を受けやすいままになる可能性があるため、お勧めできません。 AUTHを実装するか、それ以外の場合はセキュリティで保護してください。詳細については、 http://redis.io/topics/security を参照してください。
ステップ1:場所に移動します:/etc/redis.conf
ステップ2:バインド127.0.0.1をコマンドアウトする
ステップ3:Redisを再起動します:-Sudo systemctl start redis.service
ステップ4:Firewalldを無効にするsystemctl disable firewalld
ステップ5:Firewalldを停止するsystemctl stop firewalld
それから試してください。
redis-cli -h 192.168.0.2(ip)-a redis(username)
1-バインド127.0.0.1をコメントアウトします
2-requirepass yourpasswordを設定します
次に、ファイアウォールがポートをブロックしているかどうかを確認します
iptables -L -n
サービスiptables停止
$ REDIS_HOME/redis.confを開いてrequirepass -YOUR-PASSWORD-HERE-
のコメントを外し、指定した行にパスワードを書き留めます。
Redis-cliを使用してredisにログインし、auth -YOUR-PASSWORD-HERE-
コマンドを使用してデータベースのパスワードを確認します。
$ REDIS_HOME/redis.confの文字列をprotected-mode no
に変更して、保護モードを無効にします。
すべてのバインドポート値を検索し、それらすべてをコメント化します。 bind 0.0.0.0
を$ REDIS_HOME/redis.confファイルに追加するだけです。
ファイアウォールを無効にするか、redisポートを開きます。
./redis-server $REDIS_HOME/redis.conf
を使用してredisを開始します。
./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-
で設定を確認してください。
./redis-cli -h -YOUR-IP- ping
で設定を確認してください。