Ringkasan #
Penyeimbangan beban di beberapa contoh aplikasi adalah cara terbaik untuk meningkatkan kinerja dengan mengurangi kelebihan beban dan latensi, serta meningkatkan pengiriman dengan menyimpan sumber daya statis dalam cache.
Meskipun Nginx memiliki tujuan besar dalam melayani web, platform ini memiliki banyak kompleksitas. Seiring meningkatnya lalu lintas, semakin sulit untuk menyeimbangkan lalu lintas lapisan 4 dan lapisan 7 tanpa mengorbankan keamanan. Oleh karena itu, Anda memerlukan penyeimbang beban dengan fitur lebih canggih yang menawarkan kontrol atas aplikasi bisnis melalui UI yang mudah diakses.
Pada artikel ini, kita akan membahas cara mentransfer konfigurasi load balancer Nginx ke RELIANOID ADC.
Prasyarat #
Untuk mengikuti panduan ini, pastikan Anda memenuhi tolok ukur berikut.
- Sebuah contoh dari RELIANOID peralatan harus diinstal di stasiun kerja Anda atau platform cloud. Minta evaluasi jika Anda belum menginstal instance.
- Anda harus memiliki akses ke panel web. Jika tidak, ikuti ini dengan cepat petunjuk pemasangan.
- Nginx adalah hal yang mudah bagi Anda, tetapi Anda tidak puas dengan kemampuan penyeimbangan bebannya. Jadi, kamu perlu RELIANOID untuk masuk.
- Server virtual sangat penting untuk mendistribusikan lalu lintas ke server backend. Jika Anda belum membuatnya, ikuti panduan ini membuat server virtual layer 4 dan Layer 7 (Pertanian)
Konsep dasar #
ke hulu: Arahan upstream mendefinisikan sekelompok server yang menghosting aplikasi web. Biasanya, upstream didefinisikan dalam konteks http. Di dalam RELIANOID ADC, itu Layanan bagian berisi subbagian backend untuk mengelola server host.
mendengarkan: Opsi mendengarkan menentukan port apa yang akan didengarkan Nginx untuk lalu lintas masuk dari web. RELIANOID menggunakan Pelabuhan maya untuk mendengarkan lalu lintas masuk melalui a Tanah pertanian.
Lokasi: Konteks lokasi memungkinkan Anda memberikan instruksi tentang direktori untuk mengambil data dari file HTML.
proxy_pass: Arahan ini digunakan saat menentukan lokasi server proxy. Biasanya lokasinya adalah nilai ditugaskan ke arahan hulu. Konsep serupa di RELIANOID adalah Tanah pertanian. Di sinilah Anda menentukan alamat IP dan port yang terhubung ke layanan yang berisi server backend.
server: Arahan ini menentukan server yang menghosting aplikasi menggunakan alamat IP-nya dalam format ipv4 atau ipv6. Blok server adalah tempat Anda menentukan tempat direktif, pendengar, Dan memasukkan pengarahan. Anda dapat menentukan server di RELIANOID melalui Backend bagian.
ssl_ciphers dan ssl_protocols: Direktif ssl_ciphers dan ssl_protocol digunakan ketika membatasi koneksi ke versi SSL/TLS yang terkuat atau terbaru. Beberapa protokol ini termasuk TLSV1 dan TLSV2. Sandi default dengan nginx adalah TINGGI:!aNULL:!MD5. Untuk menggunakan sandi dan menyesuaikan protokol SSL di RELIANOID, Anda harus menggunakan pendengar HTTPS. Akses Parameter HTTPS dalam pengaturan global Peternakan itu.
Contoh konfigurasi: Mengaktifkan sesi Sticky #
Persistensi sesi, juga dikenal sebagai sesi lengket, adalah teknik yang digunakan dalam penyeimbangan beban untuk memastikan bahwa permintaan dari klien dikirim ke server yang sama dalam sebuah cluster selama durasi sesi. Hal ini sering digunakan untuk mempertahankan keadaan atau untuk memastikan bahwa sumber daya, seperti file atau data, tersedia untuk klien sepanjang sesi. Ada beberapa cara untuk menerapkan persistensi sesi, termasuk menggunakan cookie atau afinitas alamat IP. Metode yang digunakan bergantung pada persyaratan spesifik aplikasi dan arsitektur penyeimbangan beban.
Konfigurasi Nginx #
Nginx pada dasarnya memiliki dua metode untuk mengaktifkan persistensi sesi, yaitu menggunakan metode penyeimbangan beban hash_ip dan penggunaan sticky cookies.
Hash_ip: Metode penyeimbangan beban hash_ip memperoleh alamat IP tujuan dan sumber, lalu menggunakannya untuk membentuk identitas unik bagi koneksi yang telah terjalin.
server backend hulu { hash_ip; server 192.168.0.112; server 192.168.0.115; }
sticky cookie: Anda juga dapat menggunakan sticky cookie dengan mendefinisikan opsi sticky cookie di dalam konteks upstream.
server backend hulu { server 192.168.0.112; server 192.168.0.116; cookie lengket zensessionid kedaluwarsa=2 jam domain=.example.com path="/"; }
zensessionid secara unik mengidentifikasi cookie dan server terkaitnya. Berdasarkan konfigurasi di atas, cookie akan kedaluwarsa dalam 2 jam.
RELIANOID konfigurasi #
Untuk mengaktifkan persistensi cookie saat menggunakan RELIANOID penyeimbang beban:
- Pergi ke LSLB > Peternakan dan Klik Sunting Ikon di peternakan http.
- Arahkan ke folder Layanan Tab.
- Gulir sampai Anda mencapai ketekunan bagian.
- Untuk mengaktifkan persistensi menggunakan alamat IP Klien, pilih persistensi IP: klien alamat.
- Untuk mengaktifkan persistensi sesi menggunakan cookie, Abaikan langkah 4 dan tinggalkan Ketekunan lapangan di Tidak ada kegigihan.
- Aktifkan sisipan kue tombol dan isi nama, domain, path, dan Waktu untuk Hidup(TTL) dalam Detik.
- Perbarui pengaturan dengan mengklik Mendaftar .
Contoh konfigurasi: membuat aturan pengalihan #
Aturan pengalihan digunakan untuk mengalihkan halaman web ke halaman web lain secara otomatis. Ini sering digunakan ketika situs web telah mengubah struktur atau kontennya, atau ketika halaman dipindahkan ke lokasi baru. Aturan pengalihan dapat digunakan untuk memastikan bahwa pengguna dan mesin pencari diarahkan ke halaman yang benar, dan untuk mencegah tautan rusak. Ada beberapa jenis redirect yang bisa digunakan antara lain 301 redirect, 302 redirect, dan meta refresh redirect. Jenis pengalihan yang digunakan bergantung pada kebutuhan spesifik situs web dan alasan pengalihan.
Konfigurasi Nginx #
Untuk membuat aturan pengalihan, kami mendeklarasikan arahan pengembalian di dalam konteks server atau lokasi. Perintah return digunakan ketika Anda ingin mengalihkan pengguna dari satu url ke url lainnya, atau dari saluran tidak aman ke server aman.
Aturan pengalihan Nginx mengikuti sintaks berikut.
return ( 301 | 302 | 303 | 307 ) redirect-url;
Berikut adalah contoh konfigurasi saat mengalihkan pengguna dari http tidak aman ke lokasi https aman.
server { # Mengalihkan pengguna ke HTTPS listen 80; nama_server test.relianoid.com www.test.relianoid.com; return 301 https://www.test.relianoid.com$request_uri; }
Opsi `$request_uri` memastikan bahwa semua lalu lintas http pada domain yang sama dialihkan ke https yang aman meskipun jalurnya berubah.
RELIANOID konfigurasi #
Untuk mencapai hasil serupa dengan RELIANOID ADC.
- Pastikan Anda menjalankan dua Peternakan, keduanya HTTP ke https. Lihat artikel ini di cara membuat layer 4 dan layer load farm
- Pergi ke LSLB >> Peternakan Dan klik Sunting ikon di peternakan https.
- cari Layanan tab dan buka salah satu layanan yang dikonfigurasi untuk mengeditnya. Jika tidak ada, klik Layanan baru tombol dan buat satu.
- Gulir sampai Anda mencapai redirect bagian dan aktifkan Aktifkan pengalihan.
- Pilih jenis pengalihan Menambahkan, kode pengalihan 301 dan tulis url lengkap tempat mengarahkannya. Dalam contoh ini, mari kita gunakan http://10.0.0.18
- Perbarui konfigurasi dengan mengklik Mendaftar .
Contoh konfigurasi: menulis ulang aturan header #
Header HTTP sangat penting bagi host dan klien untuk berbagi informasi tambahan selain menanyakan permintaan. Header ini memungkinkan klien untuk mengakses sumber daya dalam bahasa pilihan mereka dan mengakses halaman web yang dioptimalkan untuk perangkat mereka. Server web dapat menggunakan informasi ini untuk mengoptimalkan jenis informasi untuk melayani klien menggunakan header cookie.
Sayangnya, penggunaan banyak header respons dapat mengungkapkan banyak informasi sensitif yang dapat digunakan peretas untuk upaya eksploitasi. Oleh karena itu, penting untuk menghapus header yang tidak tepercaya atau memodifikasi beberapa konten. Hal ini membantu mencegah serangan berbahaya seperti cross-site scripting dengan menyediakan perlindungan X-XSS.
Konfigurasi Nginx #
Nginx menyediakan 2 direktif untuk memodifikasi dan menambahkan header. Direktif tersebut meliputi add_header dan more_set_headers . Gunakan header lokasi ini di dalam blok lokasi.
Contoh konfigurasi menggunakan add_header di nginx.
lokasi / { ... add_header Server “nama server”; ... }
more_set_headers tidak terpasang secara bawaan di Nginx, jadi, pengguna biasanya memasang plugin ini secara manual sebelum mengkompilasi nginx.
Contoh konfigurasi menggunakan more_set_headers.
lokasi /{ ... more_set_headers Server “namaserver”; ... }
RELIANOID konfigurasi #
- Pertama, pergi ke LSLB>>Pertanian dan pilih sebuah HTTP pertanian yang aturannya ingin Anda tetapkan.
- Bawah Aksi pengaturan, klik pada pengaturan lanjutan Tab.
- Dalam pengaturan lanjutan, Pilih Aktifkan opsi dalam menulis ulang header lokasi aturan.
- Perbarui konfigurasi dengan mengklik Mendaftar .
- Gulir ke bagian header dan klik Buat aturan .
- Dalam Tipe opsi tarik-turun, pilih salah satu yang sesuai dengan aplikasi Anda. Dalam contoh ini, kita akan menggunakan Tanggapan: tambahkan header.
- Masukkan header yang nilainya ingin Anda ubah. Untuk contoh ini, kita akan mengubah nilainya Server tajuk.
- Simpan konfigurasi dengan mengklik Mendaftar .
- Restart farm agar konfigurasi dapat diterapkan.
Sumber Tambahan #
Menggunakan program Let's encrypt untuk membuat sertifikat SSL secara otomatis.
Penyeimbangan beban Datalink/Uplink Dengan RELIANOID ADC.
Penyeimbangan beban DNS dengan RELIANOID ADC.
Perlindungan dari serangan DDoS.
Aplikasi, Kesehatan dan Pemantauan Jaringan di Relianoid ADC.
Konfigurasi Firewall Aplikasi Web.
Mengonfigurasi sertifikat SSL untuk penyeimbang beban.



