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?


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.


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.


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

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.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.