Cara mengalihkan laman web anda ke https di belakang pengimbang beban AWS

Cara mengalihkan laman web anda ke https di belakang pengimbang beban AWS

Pada contoh AWS EC2, pelayan web anda sedang mendengar di port 80 untuk menerima sambungan HTTP. Selepas itu, anda mengkonfigurasi Amazon Elastic Load Balancer (ELB) untuk mendengar trafik HTTP dan HTTPS dan mengemukakan semua permintaan ke pelayan backend pada port 80 sahaja. The Amazon elastik beban pengimbang (ELB) menyokong X-Forwarded-Proto nilai header, yang merangkumi protokol aplikasi.

The X-Forwarded-Proto Nilai header permintaan HTTP digunakan dalam tutorial ini, dan peraturan penulisan semula digunakan jika protokol klien bukan HTTPS.

Inilah cara memaksa pengalihan ke HTTPS di belakang AWS ELB menggunakan pelayan web Apache, Nginx, atau IIS Web.

1. Apache

Menambah peraturan pengalihan https ke Apache Virtualhost anda atau .Fail HTACCESS adalah cara mudah untuk mengalihkan semua lalu lintas ke laman web anda untuk menggunakan HTTPS. Anda boleh melakukan ini dengan menambahkan kod berikut ke virtualhost anda atau .Fail Htaccess:

RewriteEngine on RewriteCond %http: x-forwarded-proto !Https Rewriterule ^.*$ https: //%server_name%request_uri
123 RewriteEngine on RewriteCond %http: x-forwarded-proto !Https Rewriterule ^.*$ https: //%server_name%request_uri

Kod di atas adalah contoh peraturan pengalihan HTTPS yang boleh ditambah ke .fail htaccess. Apabila peraturan ini ditambah, ia memeriksa jika pengepala X-Forwarded-Proto tidak ditetapkan ke HTTPS, dan jika tidak, ia mengalihkan semua lalu lintas untuk menggunakan HTTPS menggunakan %server_name dan %request_uri pembolehubah. Ini berguna dalam senario di mana laman web ini berada di belakang pengimbang beban atau proksi, dan pengepala X-Forwarded-Proto digunakan untuk menyampaikan maklumat mengenai protokol klien ke pelayan. Dengan menambahkan kod ini kepada anda .fail htaccess, semua lalu lintas ke laman web anda akan diarahkan untuk menggunakan HTTPS, memastikan laman web anda selamat dan disulitkan.

2. Nginx

Edit blok pelayan HTTP NGINX untuk domain anda untuk mengkonfigurasi pengalihan daya. Tambahkan kandungan berikut di bawah blok lokasi untuk mengalihkan semua trafik HTTP ke HTTPS.

lokasi / if ($ http_x_forwarded_proto != 'https') menulis semula ^ https: // $ host $ request_uri? kekal;
1234 lokasi / if ($ http_x_forwarded_proto != 'https') menulis semula ^ https: // $ host $ request_uri? kekal;

Konfigurasi Nginx di atas adalah contoh peraturan pengalihan HTTPS yang boleh ditambah ke blok lokasi dalam fail konfigurasi nginx. Apabila peraturan ini ditambah, ia memeriksa jika pengepala X-Forwarded-Proto tidak ditetapkan ke HTTPS, dan jika tidak, ia menggunakan Arahan Penulisan semula untuk mengalihkan semua lalu lintas untuk menggunakan HTTPS menggunakan host $ dan $ request_uri pembolehubah. Penyataan IF digunakan untuk memeriksa pembolehubah http_x_forwarded_proto, yang ditetapkan ke https apabila sambungannya selamat. Dengan menambahkan kod ini ke fail konfigurasi nginx anda, semua lalu lintas ke laman web anda akan diarahkan untuk menggunakan HTTPS, memastikan laman web anda selamat dan disulitkan.

3. Iis

Pelayan windows dengan edit pelayan web IIS atau buat web.konfigurasi fail dan tambahkan kod berikut di bawah seksyen:

1234567891011

Kesimpulan

Dengan mengikuti empat langkah ini, anda boleh mengalihkan laman web anda dengan mudah ke HTTPS di belakang AWS Load Balancer. Dengan sijil SSL/TLS, konfigurasi pengimbang beban, penciptaan peraturan redirek, dan kemas kini rekod DNS, anda boleh memastikan bahawa semua lalu lintas ke laman web anda disulitkan dan selamat.