Cara menggunakan Apache untuk mengarahkan semua lalu lintas dari HTTP ke HTTPS

Cara menggunakan Apache untuk mengarahkan semua lalu lintas dari HTTP ke HTTPS

Jika situs web Anda menggunakan Apache dan SSL, tidak ada banyak alasan untuk terus menggunakan HTTP dengan situs web Anda. Memiliki HTTP dan HTTPS hanya membuat konten duplikat, karena sekarang halaman yang diberikan akan dapat diakses melalui dua URL yang berbeda secara teknis.

Dalam panduan ini, kami akan menganggap Anda sudah menggunakan Apache pada sistem Linux dan ingin mengarahkan semua lalu lintas HTTP ke HTTPS. Ini akan memastikan bahwa semua pengunjung Anda hanya terhubung melalui HTTPS dengan memaksa browser mereka ke protokol yang aman jika kebetulan membuka tautan HTTP. Jika pengguna memutuskan untuk mengawali tautan dengan http: //, Situs Anda akan cukup pintar untuk tetap mengirimkannya ke halaman yang benar, daripada menampilkan konten duplikat atau menampilkan kesalahan 404.

Ada dua cara untuk mengatur pengalihan ini di Apache. Metode yang lebih baik adalah mengonfigurasi host virtual, tetapi pengguna dengan situs web yang di -host mungkin tidak memiliki akses ke konfigurasi ini. Metode kedua adalah dengan membuat beberapa perubahan pada .htaccess mengajukan. Kami akan membahas instruksi langkah demi langkah untuk kedua metode di bawah ini. Ayo Memulai.

Dalam tutorial ini Anda akan belajar:

  • Cara mengarahkan http ke https dengan host virtual
  • Cara mengarahkan http ke https dengan .htaccess mengajukan
Redirect HTTP Traffic ke HTTPS di Apache Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, konvensi atau versi perangkat lunak yang digunakan
Sistem Distro Linux apa pun
Perangkat lunak Apache
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah.
Konvensi # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Redirect http ke https dengan virtual host

Di Ubuntu, Debian, dan turunannya, Anda akan menemukan file host virtual di /etc/apache2/situs yang tersedia. Buka file yang sesuai di editor teks pilihan Anda:

$ sudo vi/etc/apache2/situs-tersedia/contoh.conf 


Di Redhat, Centos, Fedora, dan turunan lainnya, Anda akan menemukan konfigurasi host virtual di:

$ sudo vi/etc/httpd/conf.D 

File ini dapat digunakan untuk mengarahkan lalu lintas, di antara banyak hal lainnya. Jika Anda sudah menggunakan http dan https di situs web Anda, Anda harus memiliki setidaknya dua host virtual yang sudah ada di file - satu untuk 80 (http) dan satu untuk 443 (https). Untuk mengarahkan kembali lalu lintas HTTP, kita perlu menambahkan baris berikut:

Redirect Permanen/https: // Contoh.com/ 

Tambahkan di suatu tempat di dalam menuju, seperti pada contoh di bawah ini:

Contoh konfigurasi host virtual dengan lalu lintas http yang dialihkan ke https

Simpan perubahan Anda dan keluar dari file ini setelah selesai. Agar perubahan berlaku, Anda harus memuat ulang konfigurasi Apache dengan perintah SystemCTL berikut:

$ sudo systemctl Reload Apache2 # debian, ubuntu atau $ sudo systemctl Reload httpd # red hat, centos, fedora 

Redireksi http ke https dengan .file htaccess

Jika Anda tidak memiliki akses ke konfigurasi host virtual, .htaccess File akan menjadi satu -satunya pilihan Anda. Ini dapat ditemukan di direktori root situs web Anda, yang harus dapat diakses terlepas dari host web apa yang Anda gunakan.

Cukup edit file ini dan tambahkan baris kode berikut. Anda bisa menempelkannya di bagian bawah file.

REWRITEEngine di RE -writecond %https off reRiterule ^(.*) $ https: // contoh.com/$ 1 [l, r = 301] 


Hanya itu yang ada untuk itu. Anda harus melihat perubahan secara instan saat menavigasi ke situs web Anda, karena Apache tidak perlu dimuat kembali agar perubahan tersebut berlaku.

Menutup pikiran

Https jelas merupakan cara untuk pergi. Dalam artikel ini, kami melihat betapa mudahnya mengarahkan semua lalu lintas ke https dan menyingkirkan http sepenuhnya. Salah satu dari metode ini layak untuk memaksa lalu lintas HTTP ke HTTPS di situs web Anda.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Ubuntu 20.04 WordPress dengan Instalasi Apache
  • Ubuntu 20.04: WordPress dengan instalasi nginx
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
  • Unduh Linux
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Menguji klien https menggunakan openssl untuk mensimulasikan server
  • Cara menggunakan nginx untuk mengarahkan semua lalu lintas dari http ke https