Bagaimana Anda mengarahkan HTTPS ke HTTP ?. Yaitu, kebalikan dari apa yang (tampaknya) diajarkan setiap orang.
Saya memiliki server pada HTTPS dimana saya membayar sertifikasi SSL dan mirror yang belum saya miliki dan simpan hanya untuk keadaan darurat sehingga tidak layak mendapatkan sertifikasi.
Di desktop klien saya, saya memiliki BEBERAPA pintasan yang mengarah ke http://production_server
dan https://production_server
(keduanya berfungsi). Namun, saya tahu bahwa jika server produksi saya turun, maka DNS forwarding akan masuk dan klien yang memiliki "https" pada pintasan mereka akan menatap https://mirror_server
(yang tidak berfungsi) dan layar lebar kegelisahan Internet Explorer 7 yang besar dan gemuk. untuk perusahaan saya.
Sayangnya, saya tidak bisa begitu saja mengubah ini di tingkat klien. Para pengguna ini sangat buta huruf di komputer: dan sangat mungkin takut melihat kesalahan HTTPS "insecurity" (terutama cara Firefox 3 dan Internet Explorer 7 menanganinya saat ini: FULL STOP, agak berterima kasih, tapi tidak membantu saya di sini LOL).
Sangat mudah untuk menemukan solusi Apache untuk pengalihan http-> https , tetapi untuk kehidupan saya, saya tidak bisa melakukan yang sebaliknya.
Ide ide?
Jawaban:
Ini belum diuji tetapi saya pikir ini harus bekerja menggunakan mod_rewrite
sumber
Perlu diingat bahwa mesin Rewrite hanya menendang begitu permintaan HTTP telah diterima - yang berarti Anda masih membutuhkan sertifikat, agar klien mengatur koneksi untuk mengirim permintaan selesai!
Namun jika mesin cadangan tampaknya memiliki nama host yang sama (sejauh menyangkut klien), maka seharusnya tidak ada alasan Anda tidak dapat menggunakan sertifikat yang sama dengan mesin produksi utama.
sumber
Berdasarkan jawaban ejunker, ini adalah solusi yang bekerja untuk saya, bukan pada satu server tetapi pada lingkungan cloud
sumber
Bagi mereka yang menggunakan
.conf
file.sumber
Jika tidak ada solusi di atas yang berfungsi untuk Anda (mereka tidak melakukannya untuk saya), inilah yang bekerja di server saya:
sumber
L,
(yang berarti "Aturan terakhir"). Jika Anda menggunakan wordpress atau CMS lain,L
flag tersebut dapat mencegah permintaan halaman agar tidak dirutekan dengan benar. Alih-alih gunakan:RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301]
semua hal di atas tidak berfungsi ketika saya menggunakan cloudflare, ini berfungsi untuk saya:
dan yang ini pasti bekerja tanpa proksi di jalan:
sumber
Lebih baik menghindari penggunaan mod_rewrite saat Anda bisa.
Dalam kasus Anda, saya akan mengganti Tulisan Ulang dengan ini:
The
<If>
direktif ini hanya tersedia di Apache 2.4+ per ini blog di sini .sumber
/usr/sbin/httpd -v
ini bekerja untuk saya.
pastikan untuk mendengarkan port 80 dan 443.
sumber
Tidak ada satu pun jawaban yang berfungsi untuk saya di situs web Wordpress selain mengikuti karya (mirip dengan jawaban lain tetapi ada sedikit perubahan)
sumber
Sejauh yang saya ketahui tentang penyegaran meta sederhana juga berfungsi tanpa menyebabkan kesalahan:
sumber