Bagaimana cara mengalihkan dari HTTPS ke HTTP sebelum kesalahan server?

10

Saya dulu mengoperasikan situs web dengan sertifikat SSL, tetapi telah berhenti menggunakan sertifikat SSL. Masalahnya adalah sebagian besar tautan eksternal ke situs web menggunakan https: // awalan.

Saya telah mencoba https: // ke http: // redirect di file .htaccess:

RewriteEngine On

RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI}

Tetapi tampaknya, seperti telah ditunjukkan di tempat lain, bahwa server sedang mencoba untuk mengambil sertifikat sebelum mengaktifkan pengalihan. Oleh karena itu, kesalahan ditampilkan sebelum pengalihan dilakukan. Kesalahan tersebut merupakan peringatan bahwa sertifikat telah kedaluwarsa, atau jika saya menghapus permintaan penandatanganan sertifikat, maka kesalahan bahwa SSL menerima catatan yang melebihi panjang maksimum yang diizinkan.

Apakah ada cara untuk memungkinkan tautan masuk dialihkan dengan benar?

pengguna981178
sumber
1
SSL dinegosiasikan sebelum permintaan HTTP terjadi, karena saya pikir Anda sudah mengetahuinya. Saya pikir Anda akan mengalami masalah dalam menjalankan ini seperti yang Anda inginkan, tapi saya memberikan suara untuk bermigrasi ke ServerFault.com jika seseorang di sana memiliki jawaban yang lebih baik.
Michael
Tampaknya ini mungkin sulit dicapai. Sangat disayangkan kehilangan tautan yang dibangun di internet, dan lebih buruk lagi, bagi pengunjung yang berpikir situs tersebut telah dikompromikan atau dihilangkan.

Jawaban:

16

Perbedaan antara http dan https adalah bahwa permintaan https dikirim melalui koneksi terenkripsi ssl. Sambungan terenkripsi ssl harus dibuat antara browser dan server sebelum browser mengirim permintaan http.

Permintaan http sebenarnya adalah permintaan http yang dikirim melalui koneksi terenkripsi ssl. Jika server menolak untuk membuat koneksi terenkripsi ssl maka browser tidak akan memiliki koneksi untuk mengirim permintaan. Browser dan server tidak akan memiliki cara untuk berbicara satu sama lain. Browser tidak akan dapat mengirim url yang ingin diakses dan server tidak akan dapat merespons dengan pengalihan ke url lain.

Jadi ini tidak mungkin. Jika Anda ingin menanggapi tautan https, maka Anda memerlukan sertifikat ssl.

sstendal
sumber
4

Tidak, jika mungkin untuk mengalihkan dari https ke http tanpa sertifikat nyata, itu akan menjadi kelemahan keamanan utama.

Pertimbangkan penjahat yang entah bagaimana dapat membuat server aman bank mengalihkan ke koneksi yang tidak aman tanpa memerlukan sertifikat https nyata untuk situs tersebut, itu akan memungkinkan penjahat untuk membajak koneksi tanpa diketahui oleh pengguna.

Satu-satunya solusi yang dapat saya lihat adalah mendapatkan sertifikat murah dan kemudian melakukan pengalihan normal dari situs HTTPS (yang tidak dapat dijangkau pengguna tanpa sertifikat yang valid) ke situs biasa untuk tautan eksternal tersebut.

Joachim Isaksson
sumber
Benar, lebih baik begini. Sayang sekali tidak ada cara untuk mengatur penggantian yang disetujui sebagai pemilik situs.
-2

Anda harus membuatnya dalam .htaccess Anda

ErrorDocument 500 http://anotherserer.com/errorPage.php

sumber
Terima kasih untuk sarannya. Bahkan dengan ini di .htaccess, itu tidak menggunakan halaman yang saya masukkan untuk kesalahan 500 untuk kesalahan khusus ini. Tampaknya, mungkin, tidak ada dalam .htaccess sedang diaktifkan karena kesalahan awal.