Cara mengarahkan kembali situs web Anda ke https di belakang penyeimbang beban AWS

Cara mengarahkan kembali situs web Anda ke https di belakang penyeimbang beban AWS

Pada instance AWS EC2, server web Anda mendengarkan di port 80 untuk menerima koneksi http. Setelah itu, Anda mengkonfigurasi Amazon Elastic Load Balancer (ELB) untuk mendengarkan lalu lintas HTTP dan HTTPS dan meneruskan semua permintaan ke server backend di port 80 saja. Itu Penyeimbang elastis elastis amazon (ELB) mendukung X-FORWARDED-PROTO nilai header, yang mencakup protokol aplikasi.

Itu X-FORWARDED-PROTO Nilai header dari permintaan http digunakan dalam tutorial ini, dan aturan penulisan ulang diterapkan jika protokol klien bukan https.

Berikut adalah cara memaksa pengalihan ke https di belakang AWS ELB menggunakan Apache, Nginx, atau server web IIS.

1. Apache

Menambahkan aturan pengalihan https ke virtualhost apache Anda atau .File htaccess adalah cara mudah untuk mengarahkan semua lalu lintas ke situs web Anda untuk menggunakan https. Anda dapat melakukan ini dengan menambahkan kode berikut ke virtualhost Anda atau .File htaccess:

REWRITEEngine di REWRITECOND %http: X-Forwarded-Proto !Https REWRITERULE ^.*$ https: //%server_name%request_uri
123 REWRITEEngine di REWRITECOND %http: X-Forwarded-Proto !Https REWRITERULE ^.*$ https: //%server_name%request_uri

Kode di atas adalah contoh aturan pengalihan HTTPS yang dapat ditambahkan ke .file htaccess. Ketika aturan ini ditambahkan, ia memeriksa apakah header X-Forwarded-Proto tidak diatur ke https, dan jika tidak, mengarahkan semua lalu lintas untuk menggunakan https menggunakan variabel %server_name dan %request_uri. Ini berguna dalam skenario di mana situs web berada di belakang penyeimbang beban atau proxy, dan header X-Forwarded-Proto digunakan untuk meneruskan informasi tentang protokol klien ke server. Dengan menambahkan kode ini ke Anda .file htaccess, semua lalu lintas ke situs web Anda akan diarahkan untuk menggunakan https, memastikan bahwa situs web Anda aman dan dienkripsi.

2. Nginx

Edit blok server Nginx HTTP untuk domain Anda untuk mengonfigurasi pengalihan gaya. Tambahkan konten berikut di bawah blok Lokasi untuk mengarahkan semua lalu lintas HTTP ke HTTPS.

Lokasi / if ($ http_x_forwarded_proto != 'https') REWRITE ^ https: // $ host $ request_uri? permanen;
1234 Lokasi / if ($ http_x_forwarded_proto != 'https') REWRITE ^ https: // $ host $ request_uri? permanen;

Konfigurasi Nginx di atas adalah contoh dari aturan pengalihan HTTPS yang dapat ditambahkan ke blok lokasi di file konfigurasi nginx. Ketika aturan ini ditambahkan, ia memeriksa apakah header X-Forwarded-Proto tidak diatur ke HTTPS, dan jika tidak, ia menggunakan arahan penulisan ulang untuk mengarahkan semua lalu lintas untuk menggunakan https menggunakan variabel $ host dan $ request_uri. Pernyataan IF digunakan untuk memeriksa variabel http_x_forwarded_proto, yang diatur ke https saat koneksi aman. Dengan menambahkan kode ini ke file konfigurasi nginx Anda, semua lalu lintas ke situs web Anda akan diarahkan untuk menggunakan https, memastikan bahwa situs web Anda aman dan dienkripsi.

3. IIS

Server Windows dengan IIS Web Server mengedit atau membuat web.konfigurasi file dan tambahkan kode berikut di bawah bagian:

1234567891011

Kesimpulan

Dengan mengikuti empat langkah ini, Anda dapat dengan mudah mengarahkan situs web Anda ke https di belakang penyeimbang beban AWS. Dengan sertifikat SSL/TLS, muat konfigurasi penyeimbang, pembuatan aturan pengalihan, dan pembaruan catatan DNS, Anda dapat memastikan bahwa semua lalu lintas ke situs web Anda dienkripsi dan aman.