Catatan
Penafian: Artikel ini mungkin berisi informasi tentang produk pihak ketiga. Informasi tersebut hanya untuk referensi. Alibaba Cloud tidak memberikan jaminan, baik tersurat maupun tersirat, terkait kinerja dan keandalan produk pihak ketiga, serta dampak potensial dari operasi pada produk-produk tersebut.
Pertanyaan
Akses ke alamat IP dari Instance SLB mengalami timeout.
Penyebab
Kemungkinan penyebab dari masalah ini adalah sebagai berikut:
- Titik akhir dari Instance SLB dilindungi oleh risiko keamanan, seperti blackholing dan Pembersihan lalu lintas. Untuk informasi lebih lanjut, lihat blackholing lalu lintas dan Pembersihan lalu lintas dan Perlindungan WAF.
- Port Klien yang tidak mencukupi dapat menyebabkan kegagalan koneksi, terutama selama pengujian stres. SLB akan menghapus atribut
timestampdari koneksi TCP secara default. Akibatnya, tw_reuse dari tumpukan protokol Linux (penggunaan ulang port dalam status time_wait) tidak berfungsi, dan koneksi dalam status time_wait menumpuk, menyebabkan port Klien tidak mencukupi dan akhirnya akses timeout. - Jika antrian accept server backend penuh, server backend tidak mengembalikan paket syn_ack dan Klien mengalami timeout.
- Beberapa aplikasi mungkin tidak menangani paket RST timeout koneksi dengan benar. Setelah koneksi TCP SLB dibuat, jika koneksi tidak aktif selama 900 detik, SLB mengirimkan paket RST ke Klien dan server secara dua arah untuk menghentikan koneksi. Untuk aplikasi yang tidak menangani pengecualian RST dengan benar, sistem mungkin mengirimkan data ke koneksi yang telah ditutup lagi, menyebabkan aplikasi mengalami timeout.
- Koneksi gagal ketika server backend mengakses alamat IP dari instance SLB layer-4. Skenario umum adalah bahwa aplikasi backend menggunakan penggabungan URL untuk mengarahkan ulang akses.
Jawaban
Catatan
Alibaba Cloud mengingatkan Anda bahwa:
- Sebelum Anda melakukan operasi yang mungkin menyebabkan risiko, seperti memodifikasi konfigurasi instance atau data, kami sarankan Anda memeriksa kemampuan pemulihan bencana dan Toleransi kesalahan dari instance untuk memastikan keamanan data.
- Anda dapat memodifikasi konfigurasi dan data instance termasuk namun tidak terbatas pada Elastic Compute Service (ECS) dan Relational Database Service (RDS) instance. Sebelum modifikasi, kami sarankan Anda membuat Snapshot atau mengaktifkan cadangan log RDS.
- Jika Anda telah memberikan otorisasi atau mengirimkan informasi sensitif seperti akun login dan kata sandi di Konsol Manajemen Alibaba Cloud, kami sarankan Anda memodifikasi informasi tersebut secara tepat waktu.
Gunakan solusi berikut untuk menyelesaikan masalah:
- Alamat IP dari Instance SLB berada di bawah perlindungan keamanan. Masuk ke Konsol Anti-DDoS untuk memeriksa status dari Instance SLB. Untuk informasi lebih lanjut, lihat Pusat aset.
- Port Klien yang tidak mencukupi. Klien menggunakan koneksi persisten alih-alih koneksi singkat. Ini memutuskan koneksi dengan menggunakan paket RST, dan menetapkan atribut
SO_LINGERuntuk socket, alih-alih menggunakan paket FIN. - Antrian accept server backend penuh. Jika server back-end dalam nilai default
net.core.somaxconnmemiliki nilai 128, Anda dapat merujuk pada perintah berikut untuk mengubah nilai parameter, dan memulai ulang aplikasi pada server back-end.sysctl -w net.core.somaxconn=1024CatatanCatatan: Dokumen ini hanya direkomendasikan. Anda dapat memodifikasi dokumen berdasarkan kebutuhan bisnis Anda. Kami sarankan Anda membuat Snapshot atau mencadangkan file data terkait terlebih dahulu.
- Dalam beberapa aplikasi, paket RST timeout koneksi tidak ditangani dengan benar. Kami sarankan Anda mengoptimalkan program Klien dan segera menutup koneksi yang telah digunakan.
- Koneksi gagal ketika server backend mengakses alamat IP dari instance SLB layer-4. Kami sarankan Anda menggunakan Pendengar HTTP layer-7 atau Pendengar HTTPS sebagai gantinya.
Ruang lingkup aplikasi
- SLB