2009/06/10 11:40
Memaksa HTTP menjadi HTTPS
Berikut adalah catatan cara mengubah setting Web Server agar memaksa tampilan HTTP menjadi SSL ke HTTPS. Maksudnya disini, pada saat ada orang yang mem-browsing halaman (misalnya) http://domain maka Web Server akan otomatis memaksa tampilan menjadi menggunakan SSL (Secure Socket Layer) ke halaman https://domain.
Langkah-langkah berikut adalah catatan singkat untuk men-setting di Debian Linux. Tahapannya:
Pastikan SSL menyala di Web Server
apt-get install apache2
apt-get install openssl ssl-cert
Pasang PHP bila diperlukan
apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi
Buat Sertifikat SSL
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
Pada tahap ini akan ada beberapa prompt pertanyaan, isi yang sesuai. Khusus untuk pertanyaan Common Name biasanya diisi dengan nama dari alamat domain nya.Pastikan Sertifikat bisa di Akses
chmod 600 /etc/apache2/apache.pem
Pastikan port 443 dibuka di Apache
Edit file /etc/apache2/ports.conf dan tambahkan baris
Listen 433
Nyalakan dukungan SSL
a2enmod ssl
Konfigurasi Virtual Host di Apache
Edit file /etc/apache2/sites-available/default dan pastikan/buat section VirtualHost nya
<VirtualHost *:80>
...
</VirtualHost>
<VirtualHost *:443>
...
</VirtualHost>
Aktifkan SSL di Virtual Host
<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem
...
</VirtualHost>
Tambahkan Redirect dari HTTP menjadi HTTPS
<VirtualHost *:80>
...
RewriteEngine on
RewriteRule /(.*) https://domain/$1
...
</VirtualHost>
Pastikan perubahan diatas juga muncul di /etc/apache2/sites-enabled/000-default. Biasanya file ini akan di update otomatis dari file sites-available/default sebelumnya.
Nyalakan fungsi Apache ReWrite
a2enmod rewrite
Restart Apache untuk Mengaktifkan
/etc/init.d/apache2 restart
Semoga membantu.
^_^
- gitu deh!
tag:Network