Saya dapat melakukan ping pong Redis di server:
# redis-cli ping
PONG
Tapi dari jarak jauh, saya mendapat masalah:
$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused
Di konfigurasi, saya mendapatkan port standar:
# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379
Jadi mungkin saya harus membuka port 6379 pada mesin Ubuntu jarak jauh? Bagaimana saya melakukannya?
Jawaban:
Apakah Anda menyetel opsi mengikat untuk mengizinkan akses jarak jauh di server redis?
Sebelum (file
/etc/redis/redis.conf
)Setelah
dan jalankan
sudo service redis-server restart
untuk me-restart server. Jika bukan itu masalahnya, Anda mungkin ingin memeriksa firewall apa pun yang mungkin memblokir akses.Penting: Jika Anda tidak menggunakan firewall (iptables, ufw ..) untuk mengontrol siapa yang terhubung ke port yang digunakan, SIAPA PUN dapat terhubung ke instance Redis ini. Tanpa menggunakan Redis '
AUTH
itu berarti siapa pun dapat mengakses / mengubah / menghapus data Anda. Berhati-hatilah!sumber
bind 0.0.0.0
demi stringbind 127.0.0.1
. Redis dimulai ulang. Dan sekarang dapat terhubung dari jarak jauh.bind 0.0.0.0
sendiri vsbind 127.0.0.1 0.0.0.0
Bagi saya, saya perlu melakukan hal berikut:
1- Beri komentar
bind 127.0.0.1
2- Ubah
protected-mode
keno
3- Lindungi server saya dengan
iptables
( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04 )sumber
Catatan singkat bahwa melakukan ini tanpa mengamankan server Redis Anda bukanlah ide yang baik karena dapat membuat Anda terbuka untuk menyerang. Pastikan juga untuk menerapkan AUTH atau mengamankannya. Lihat http://redis.io/topics/security untuk detailnya.
sumber
1- Komentari bind 127.0.0.1
2- set mengharuskan kata sandi Anda
kemudian periksa apakah firewall memblokir port Anda
iptables -L -n
layanan iptables berhenti
sumber
Buka $ REDIS_HOME / redis.conf dan hapus komentar
requirepass -YOUR-PASSWORD-HERE-
dan tulis kata sandi Anda di baris yang ditentukan.Login ke redis menggunakan redis-cli dan verifikasi kata sandi Anda di database menggunakan
auth -YOUR-PASSWORD-HERE-
perintah.Nonaktifkan mode terlindung dengan mengubah stringnya di $ REDIS_HOME / redis.conf menjadi
protected-mode no
.Cari semua nilai port bind dan komentari semuanya. Cukup tambahkan
bind 0.0.0.0
ke file $ REDIS_HOME / redis.conf.Nonaktifkan firewall Anda atau buka port redis.
Mulai redis menggunakan
./redis-server $REDIS_HOME/redis.conf
.Periksa konfigurasi melalui
./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-
../redis-cli -h -YOUR-IP- ping
.sumber
Buka file di lokasi
/etc/redis.conf
Beri komentar
bind 127.0.0.1
Mulai ulang Redis:
Nonaktifkan Firewalld:
Hentikan Firewalld:
Kemudian coba:
sumber
Catatan singkat bahwa jika Anda menggunakan instans AWS ec2 maka ada satu langkah ekstra lagi yang menurut saya juga wajib. Saya melewatkan langkah-3 dan butuh waktu seharian penuh untuk memikirkan cara menambahkan aturan masuk ke grup keamanan
Langkah 1 (seperti sebelumnya): di redis.conf, ubah bind 127.0.0.1 menjadi bind 0.0.0.0
Langkah2 (seperti sebelumnya): di redis.conf Anda, ubah mode dilindungi ya ke mode dilindungi no
penting untuk Instans Amazon Ec2:
Langkah3: Di mesin ec2 Anda saat ini, masuk ke grup keamanan. tambahkan aturan masuk untuk TCP khusus dengan port 6379 dan pilih opsi "gunakan dari mana saja".
sumber
sumber
Bind & protected-mode keduanya adalah langkah penting. Tetapi jika ufw diaktifkan maka Anda harus membuat port redis memungkinkan di ufw.
ufw status
jikaStatus: active
kemudian izinkan redis-portufw allow 6379
vi /etc/redis/redis.conf
bind 127.0.0.1
menjadibind 0.0.0.0
protected-mode yes
menjadiprotected-mode no
sumber