Pemecahan Masalah / Sistem Tidak Dapat Diakses dari Jaringan Eksternal
Jika sistem itu sendiri sudah berjalan normal, tetapi tidak dapat diakses dari luar, umumnya penyebabnya adalah masalah jaringan.
Gejalanya adalah sebagai berikut:
- Di server deployment itu sendiri, perintah
curl -i http://127.0.0.1:8088mengembalikan informasi pengalihan302:
| HTTP | |
|---|---|
1 2 3 4 5 6 7 8 9 | |
- Di server deployment itu sendiri, perintah
curl http://127.0.0.1:8088/api/v1/do/pingmengembalikan data normal dengan kode200:
| HTTP | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
- Di perangkat lain, perintah
curl -i http://{alamat_server}:8088tidak merespons, atau langsung menolak koneksi.
Masalah semacam ini sebagian besar merupakan masalah jaringan, dan tidak ada hubungannya dengan DataFlux Func itu sendiri.
Berikut ini hanyalah catatan dari sebagian kemungkinan solusi.
1. Resolusi IP / Nama Domain Tidak Benar
Coba lakukan ping ke server tempat DataFlux Func berada dari perangkat lain untuk memastikan IP dan nama domain sudah benar.
Masalah ini dapat diatasi dengan mengubah DNS atau konfigurasi /etc/hosts; detailnya disesuaikan dengan kondisi jaringan aktual.
2. Firewall dan Konfigurasi Keamanan Tidak Benar
Termasuk namun tidak terbatas pada:
- Konfigurasi firewall tidak benar
- Konfigurasi Security Group Alibaba Cloud ECS tidak benar
- Konfigurasi server reverse proxy dan Alibaba Cloud SLB tidak benar
Pertama-tama, periksa port yang dibuka pada deployment saat ini:
| Bash | |
|---|---|
1 | |
Hasilnya adalah:
| Text Only | |
|---|---|
1 | |
{port_terbuka} secara default adalah 8088
Periksa dan ubah lingkungan jaringan untuk mengizinkan akses eksternal ke port server.
3. Konflik antara Jaringan Lokal dan Subnet ingress yang Dibuat Otomatis
Anda dapat memeriksanya dengan perintah berikut:
| Bash | |
|---|---|
1 | |
Periksa apakah nilai IPAM.Config.Subnet sama dengan jaringan lokal:
| JSON | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | |
Jika terjadi tumpang tindih, Anda dapat mengubahnya dengan cara berikut:
- Hentikan DataFlux Func
- Hapus jaringan yang sudah ada sebelumnya:
sudo docker network rm ingress - Buat ulang jaringan:
docker network create --driver overlay --ingress --subnet 10.255.0.0/16 --gateway 10.255.0.1 ingress -
Mulai DataFlux Func
- Dokumen referensi: Konfigurasi kustom jaringan Docker ingress
4. Konfigurasi Penerusan Kernel Tidak Ada
Masalah ini pernah ditemukan pada sistem CentOS, tetapi pada sebagian besar kasus belum pernah ditemui.
Anda dapat memverifikasi konfigurasi penerusan dengan cara berikut:
| Bash | |
|---|---|
1 | |
- Jika perintah di atas mengembalikan
1, berarti penerusan sudah diaktifkan. - Jika tidak, Anda dapat mengaktifkan konfigurasi penerusan dengan cara berikut:
| Bash | |
|---|---|
1 | |