Port apa yang digunakan atau perlu dibuka Server RabbitMQ di firewall untuk sekumpulan node?
Saya /usr/lib/rabbitmq/bin/rabbitmq-env
diatur di bawah ini yang saya anggap dibutuhkan (35197).
SERVER_ERL_ARGS="+K true +A30 +P 1048576 \
-kernel inet_default_connect_options [{nodelay,true}] \
-kernel inet_dist_listen_min 35197 \
-kernel inet_dist_listen_max 35197"
Saya belum menyentuh rabbitmq.config
untuk mengatur kustom tcp_listener
sehingga harus mendengarkan pada 5672 default.
Berikut adalah baris netstat yang relevan:
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 728/epmd
tcp 0 0 0.0.0.0:35197 0.0.0.0:* LISTEN 5126/beam
tcp6 0 0 :::5672 :::* LISTEN 5126/beam
Pertanyaan saya adalah:
agar node lain dapat terhubung ke cluster, apakah semua 3 port 4369, 5672 dan 35197 harus dibuka?
Mengapa 5672 tidak berjalan di tcp dan bukan hanya tcp6?
Jawaban:
PORT 4369: Erlang menggunakan Port Mapper Daemon (epmd) untuk resolusi nama node dalam cluster. Node harus dapat menjangkau satu sama lain dan daemon mapper port agar pengelompokan berfungsi.
PORT 35197 yang disetel oleh inet_dist_listen_min / max Firewall harus mengizinkan lalu lintas dalam kisaran ini untuk melewati antara node berkerumun
Konsol Manajemen RabbitMQ:
PORT
5672
Port utama RabbitMQ.Untuk sekumpulan node, mereka harus terbuka satu sama lain di
35197
,4369
dan5672
.Untuk setiap server yang ingin menggunakan antrian pesan, hanya
5672
diperlukan.sumber
Port apa yang digunakan RabbitMQ?
Default: 5672, manual memiliki jawabannya. Ini ditentukan dalam
RABBITMQ_NODE_PORT
variabel.https://www.rabbitmq.com/configure.html#define-environment-variables
Nomornya mungkin berbeda jika diubah oleh seseorang di file konfigurasi rabbitmq:
Minta komputer untuk memberi tahu Anda:
Oh lihat, 5672, dan 15672
Gunakan netstat:
Oh, lihat 5672.
gunakan lsof:
gunakan nmap dari mesin lain, cari tahu apakah 5672 terbuka:
Coba sambungkan ke port secara manual dengan telnet, 5671 TUTUP:
Coba sambungkan ke port secara manual dengan telnet, 5672 TERBUKA:
Periksa firewall Anda:
Ini akan memberi tahu Anda port apa yang dibuat terbuka:
Terapkan kembali firewall Anda:
sumber
Untuk mengetahui port apa yang digunakan kelincimq :
Keluaran:
Jalankan ini sebagai root:
Selengkapnya tentang opsi epmd.
sumber
lsof
sangat lambat ... dan itu membutuhkan hak akses root. Anda dapat melakukan hal yang sama, jauh lebih cepat, dengannetstat -an | egrep '\.(4369|25672).*LISTEN'
Akses Pelabuhan
Firewall dan alat keamanan lainnya dapat mencegah RabbitMQ mengikat ke port. Jika itu terjadi, RabbitMQ akan gagal dimulai. Pastikan port berikut dapat dibuka:
4369: epmd, layanan penemuan rekan yang digunakan oleh node RabbitMQ dan alat CLI
5672, 5671: digunakan oleh klien AMQP 0-9-1 dan 1.0 tanpa dan dengan TLS
25672: digunakan oleh distribusi Erlang untuk komunikasi alat antar-node dan CLI dan dialokasikan dari rentang dinamis (dibatasi ke satu port secara default, dihitung sebagai port AMQP + 20000). Lihat panduan jaringan untuk detailnya.
15672: klien HTTP API dan rabbitmqadmin (hanya jika plugin manajemen diaktifkan)
61613, 61614: klien STOMP tanpa dan dengan TLS (hanya jika plugin STOMP diaktifkan)
1883, 8883: (Klien MQTT tanpa dan dengan TLS, jika plugin MQTT diaktifkan
15674: klien STOMP-over-WebSockets (hanya jika plugin Web STOMP diaktifkan)
15675: klien MQTT-over-WebSockets (hanya jika plugin MQTT Web diaktifkan)
Dokumen referensi: https://www.rabbitmq.com/install-windows-manual.html
sumber