วันศุกร์ที่ 22 พฤษภาคม พ.ศ. 2558

Ubuntu, Apache : การบังคับ Redirect HTTP ไป HTTPS

ระบบที่ใช้ทดสอบ
OS: Ubuntu 14.04.2

- ทำการเปิด Module ดังต่อไปนี้

root@server:~#  a2enmod  ssl
root@server:~#  a2enmod  rewrite

- ทำการสร้าง Key file และ Certificate file

root@server:~#  openssl req -x509 -nodes -days 1000 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

- แก้ไขไฟล์ /etc/apache2/sites-available/default-ssl ในส่วนต่อไปนี้

        SSLCertificateFile    /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key

- ทำการ Enable HTTPS

root@server:~#  a2ensite  default-ssl

- แก้ไข Config เพื่อบังคับ Redirect HTTP ไป HTTPS โดยแก้ไขไฟล์ /etc/apache2/sites-enabled/000-default ดังนี้

        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


- จากนั้น Restart web service

root@server:~#  service apache2 restart