Nginx

Nginx Redirect HTTP ke HTTPS

Nginx Redirect HTTP ke HTTPS
Nginx, diucapkan sebagai "Engine x", adalah web berkinerja tinggi berbasis Linux open-source gratis dan server proxy terbalik yang bertanggung jawab untuk mengelola dan menangani beban lalu lintas situs web terbesar di internet. Nginx adalah alat pengalihan yang kuat yang dapat dikonfigurasi dengan mudah di sistem Anda untuk mengarahkan lalu lintas web HTTP yang kurang aman atau tidak terenkripsi ke server web HTTPS terenkripsi dan aman. Jika Anda seorang administrator sistem atau pengembang, maka Anda menggunakan server Nginx secara teratur.

Pada artikel ini, kami akan membahas cara mengarahkan lalu lintas web dari HTTP ke HTTPS aman di Nginx.

Respons dan permintaan dikembalikan dalam bentuk plaintext di HTTP, sedangkan HTTPS menggunakan SSL/TLS untuk mengenkripsi komunikasi antara sistem klien dan server. Oleh karena itu karena berbagai alasan, HTTPS digunakan melalui HTTP, yang tercantum di bawah ini:

Lebih disukai untuk mengarahkan lalu lintas HTTP ke HTTPS di Nginx di blok server terpisah untuk setiap versi situs. Disarankan juga untuk menghindari pengalihan lalu lintas menggunakan arah "jika" yang dapat menyebabkan perilaku server yang tidak biasa.

Arahkan ulang semua lalu lintas dari HTTP ke HTTPS

Tambahkan perubahan berikut ke dalam file konfigurasi Nginx untuk mengalihkan semua lalu lintas dari versi HTTP ke HTTPS:

server
dengarkan 80 default_server;
nama server _;
kembalikan 301 https://$host$request_uri;

Di bawah ini, kami telah menguraikan setiap istilah yang disebutkan di atas:

Listen 80 default_server - ini akan memberi sinyal pada sistem Anda yang menangkap semua lalu lintas HTTP di Port 80.
Server_name _ - ini adalah domain yang akan cocok dengan nama host apa pun.

Return 301 https://$host$request_uri - ini memberi tahu mesin pencari Anda yang mengarahkan ulang secara permanen. Ini menentukan bahwa variabel $host memegang nama domain.

Setelah Anda mengubah pengaturan konfigurasi, Anda perlu memuat ulang layanan Nginx di sistem Anda. Jadi, muat ulang layanan Nginx Anda dengan menggunakan perintah berikut:

$ sudo systemctl muat ulang nginx

Arahkan ulang HTTP ke versi HTTPS untuk domain yang ditentukan di Nginx

Setelah menginstal sertifikat SSL di domain Anda, Anda akan memiliki dua opsi blok server untuk domain ini. Satu blok adalah untuk mendengarkan versi HTTP pada port 80, dan versi kedua adalah HTTPS pada port 443. Namun, untuk mengalihkan satu domain situs web dari HTTP ke HTTPS, Anda perlu membuka konfigurasi Nginx. Anda dapat menemukan file konfigurasi ini di direktori /etc/nginx/sites-available. Bagaimanapun, jika Anda tidak menemukan file ini, Anda dapat mencarinya dengan /etc/nginx/nginx.conf, /usr/local/nginx/conf atau /usr/local/etc/nginx, lalu lakukan perubahan berikut pada file ini:

server
mendengarkan 80;
server_name nama domain.com www.nama domain.com;
kembalikan 301 https://nama-domain.com$request_uri;

Mari kita pahami kode di atas baris demi baris.
Listen 80 - menggunakan port 80, server akan mendengarkan semua koneksi masuk yang ditentukan domain.

Nama_server nama domain.com www.nama domain.com - ini menentukan nama domain. Jadi, ganti dengan nama domain situs web Anda yang ingin Anda redirect.

Kembalikan 301 https://nama-domain.com$request_uri - memindahkan lalu lintas ke situs versi HTTPS. Variabel $request_uri digunakan untuk URI permintaan asli lengkap di mana argumen juga disertakan.

Dengan menggunakan metode berikut, Anda dapat mengarahkan lalu lintas ke versi www HTTPS ke versi situs non-www. Disarankan untuk membuat pengalihan di blok server terpisah untuk versi non-www dan www.

Mari kita jelaskan dengan sebuah contoh. Jika Anda ingin mengarahkan permintaan HTTPS www ke versi non-www, maka Anda harus mengikuti konfigurasi berikut:

server
mendengarkan 80;
server_name nama domain.com www.nama domain.com;
kembalikan 301 https://nama-domain.com$request_uri;

server
dengarkan 443 ssl http2;
nama_server www.nama domain.com;
#… kode lainnya
kembalikan 301 https://nama-domain.com$request_uri;

server
dengarkan 443 ssl http2;
server_name nama domain.com;
#… kode lainnya

Ganti nama domain dengan domain Anda, seperti www.linuxhint.com.

Kesimpulan

Kami telah membahas cara mengarahkan lalu lintas dari versi HTTP ke HTTPS di server Nginx. Dengan mengubah pengaturan file konfigurasi Nginx, Anda dapat dengan mudah mengarahkan lalu lintas ke HTTPS baik untuk domain tertentu atau mengarahkan ulang semua. Metode ini, yang telah kami sebutkan dalam artikel ini, dapat membantu Anda membuat situs web Anda lebih aman dengan membuat perubahan apa pun dalam pengalaman pengguna.

Kursor melompat atau bergerak secara acak saat mengetik di Windows 10
Jika Anda menemukan bahwa kursor mouse Anda melompat atau bergerak sendiri, secara otomatis, acak saat mengetik di laptop atau komputer Windows, maka ...
Cara membalikkan arah gulir Mouse dan Touchpads di Windows 10
Mouse dan Panel sentuhs tidak hanya membuat komputasi menjadi mudah tetapi juga lebih efisien dan tidak memakan banyak waktu. Kami tidak dapat membaya...
Cara mengubah penunjuk Mouse dan ukuran kursor, warna & skema pada Windows 10
Penunjuk mouse dan kursor di Windows 10 adalah aspek yang sangat penting dari sistem operasi. Ini dapat dikatakan untuk sistem operasi lain juga, jadi...