Saya telah menginstal apache di RHEL 6. Semuanya berfungsi dengan baik. Semua perubahan dan konfigurasi apa yang harus dilakukan untuk menggunakan
https: // localhost: 443 / .
Jika saya mengubah "Dengarkan 80" menjadi 443 itu adalah kesalahan koneksi SSL
Jika Anda menggunakan apache2, maka Anda harus melakukan hal berikut:
Langkah 1: Gunakan OpenSSL untuk menghasilkan kunci yang digunakan untuk mengamankan situs Anda. Kunci-kunci ini digunakan ketika mengenkripsi dan mendekripsi lalu lintas ke situs aman Anda.
$ openssl genrsa -out mydomain.key 1024
Perintah ini akan membuat kunci pribadi 1024 bit dan meletakkannya di file mydomain.key.
Tiga baris pertama tidak perlu. 1. NameVirtualHosttidak digunakan lagi dan akan dihapus di versi Apache yang akan datang. Saat ini sudah menjadi no-op. 2. Listen 443dapat menyebabkan masalah jika apache sudah dikonfigurasi untuk mendengarkan pada port 443 yang sudah ada pada banyak distribusi linux. Hanya tambahkan jika Anda yakin bahwa baris ini tidak dikonfigurasi di tempat lain.
lanoxx
3
Jangan mengubah Listen 80ke 443dalam /etc/httpd/conf/httpd.conf. SSL dikonfigurasi dalam /etc/httpd/conf.d/ssl.conf. Pada RHEL 6, SSL diaktifkan dan mendengarkan secara default dengan sertifikat yang ditandatangani sendiri.
Anda dapat membuka situs default menggunakan SSL hanya dengan menjelajah https://localhost(Anda tidak perlu menambahkan port ke bagian akhir URL).
Jika Anda ingin meneruskan semua permintaan HTTP ke HTTPS (yang menurut saya ingin Anda capai), Anda bisa menambahkan redirect permanen, atau menggunakan modul Apache mod_rewrite.
Cara termudah dan paling aman adalah mengatur pengalihan permanen. Aktifkan host virtual bernama dan tambahkan Redirectarahan ke VirtualHost di /etc/httpd/conf/httpd.conf.
Dengan menggunakan mod_rewrite, Anda juga membuat host virtual bernama. Ini bukan metode yang disarankan, tetapi akan berhasil.
NameVirtualHost *:80
<VirtualHost *:80>
# Enable the Rewrite engine
RewriteEngine On
# Make sure the connection is not already HTTPS
RewriteCond %{HTTPS} !=on
# This rewrites the URL and forwards to https
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
Jika Anda ingin mematikan SSL, beri komentar pada baris-baris ini /etc/httpd/conf.d/ssl.confdan nyalakan kembali Apache.
Sebenarnya, jika Anda menambahkan paket mod_ssl untuk RHEL6, itu menciptakan /etc/httpd/conf.d/ssl.conf, yang memuat modul dan mengatur <VirtualHost _default_:443>, dengan semua parameter yang diperlukan, masing-masing dengan komentar. The mod_sslpaket tidak secara otomatis diinstal jika Anda menginstal httpdpaket.
jsbillings
1
Saya ingin menambahkan satu hal saja ke penulisan ulang Anda: gunakan [R=301,L]alih-alih saja [R,L], dengan cara ini penulisan ulang menggunakan opsi permanen kode status HTTP 3xx .
NameVirtualHost
tidak digunakan lagi dan akan dihapus di versi Apache yang akan datang. Saat ini sudah menjadi no-op. 2.Listen 443
dapat menyebabkan masalah jika apache sudah dikonfigurasi untuk mendengarkan pada port 443 yang sudah ada pada banyak distribusi linux. Hanya tambahkan jika Anda yakin bahwa baris ini tidak dikonfigurasi di tempat lain.Jangan mengubah
Listen 80
ke443
dalam/etc/httpd/conf/httpd.conf
. SSL dikonfigurasi dalam/etc/httpd/conf.d/ssl.conf
. Pada RHEL 6, SSL diaktifkan dan mendengarkan secara default dengan sertifikat yang ditandatangani sendiri.Anda dapat membuka situs default menggunakan SSL hanya dengan menjelajah
https://localhost
(Anda tidak perlu menambahkan port ke bagian akhir URL).Jika Anda ingin meneruskan semua permintaan HTTP ke HTTPS (yang menurut saya ingin Anda capai), Anda bisa menambahkan redirect permanen, atau menggunakan modul Apache
mod_rewrite
.Cara termudah dan paling aman adalah mengatur pengalihan permanen. Aktifkan host virtual bernama dan tambahkan
Redirect
arahan ke VirtualHost di/etc/httpd/conf/httpd.conf
.Dengan menggunakan
mod_rewrite
, Anda juga membuat host virtual bernama. Ini bukan metode yang disarankan, tetapi akan berhasil.Jika Anda ingin mematikan SSL, beri komentar pada baris-baris ini
/etc/httpd/conf.d/ssl.conf
dan nyalakan kembali Apache.sumber
<VirtualHost _default_:443>
, dengan semua parameter yang diperlukan, masing-masing dengan komentar. Themod_ssl
paket tidak secara otomatis diinstal jika Anda menginstalhttpd
paket.[R=301,L]
alih-alih saja[R,L]
, dengan cara ini penulisan ulang menggunakan opsi permanen kode status HTTP 3xx .