Skip to content

ใช้งาน HTTPS ฟรีด้วยบริการจาก StartSSL

Last updated on August 6, 2018

Update: ตอนนี้ผมเปลี่ยนไปใช้ Let’s encrypt แล้วนะครับ https://khasathan.in.th/archives/1249

แนะนำว่าตอนนี้ไม่ควรใช้ StartSSL, WoSign SSL เพราะ Mozilla (ที่ทำ Firefox) และ Apple ไม่รับรอง certificate ที่ออกโดย 2 บริษัทนี้แล้ว ใช้ Let’s encrypt แทนดีกว่าครับ

ถ้าใครเข้าบล็อกผมช่วงนี้ถ้าสังเกตุที่ address bar จะเห็นว่าเป็น HTTPS และรูปแม่กุญแจล็อคอยู่เพราะผมเข้ารหัสข้อมูลในหน้าเว็บด้วย SSL นั่นเองครับ โดยปกติต้องเสียเงินซื้อ certificate  นะครับ (จ่ายเป็นรายปีเหมือนค่าโดเมน) แต่ตัวนี้ผมใช้บริการของ StartSSL อยู่ซึ่งสามารถใช้ได้ฟรี! ซึ่งก็เพียงพอสำหรับเว็บเล็กๆ อย่างบล็อกผม

ข้อดีของ SSL นอกจากเรื่องความปลอดภัยของข้อมูลแล้วตอนนี้กูเกิลยังเพิ่มอันดับการค้นหาเว็บที่ใช้ HTTPS ด้วยนะครับ เป็นนัยว่าส่งเสริมเรื่องความปลอดภัยของข้อมูลให้มีการใช้งาน HTTPS กันมากขึ้นเพราะปัจจุบันเว็บไซต์มีการใช้งาน HTTPS เพียง 1% เท่านั้นเอง

สำหรับวิธีการใช้งาน SSL ของ StartSSL ผมขอแยกเป็น 2 แบบแล้วกันครับ

  1. Generate ไฟล์ CSR จากเครื่องเราเอง
  2. Generate ไฟล์ที่จำเป็นทุกอย่างผ่านเครื่องมือที่ทาง StartSSL เตรียมไว้ให้

เลือกเอาตามสะดวกครับแบบไหนก็ได้ และ “ควร generate การเข้ารหัสตั้งแต่ 2048 bits” ขึ้นไป สำหรับวิธีการให้ follow ตามนี้ครับ DigitalOcean เขาเขียนไว้ให้แล้วตามไปอ่านเลยแล้วกันครับ

How To Set Up Apache with a Free Signed SSL Certificate on a VPS

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-with-a-free-signed-ssl-certificate-on-a-vps

เสร็จแล้วก็ดาวน์โหลด certificate file ต่างๆ ไปไว้ที่เซิร์ฟเวอร์ แล้วก็คอนฟิกเซิร์ฟเวอร์ตามลิงก์ข้างล่างนี้ครับ (DigitalOcean อีกเช่นเคย :p) วิธีการก็หาได้ทั่วไปมีเยอะแยะ

How To Create a SSL Certificate on Apache for Ubuntu 12.04

https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-12-04

ลองเรียกเว็บด้วย HTTPS ดูครับถ้าคอนฟิกถูกต้องก็จะขึ้นรูปแบบกุญแจสีเขียวหรือลองเช็กจากเว็บนี้ดูครับ https://www.digicert.com/help

ตอนนี้เว็บเราจะสามารถเข้าได้ทั้ง HTTP และ HTTPS ครับแต่ถ้าอยาก force ให้ใช้แต่ HTTPS ก็สามารถเขียน Rewrite rule ที่ไฟล์ .htaccess  หรือคอนฟิกของ VirtualHost ที่ port 80

RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]

Rewrite rule ข้างบนนี้ถ้ามีการเรียกเว็บมาที่ port อื่นที่ไม่ใช้ port 433 (HTTPS) จะ rewrite URL ไปที่ port 433 แทน

ข้อจำกัดของ SSL certificate Class 1 แบบฟรีนี้คือมีอายุ 1 ปี (ต้อง re-sign ใหม่ทุก 1 ปี) และใช้ได้ domain เดียวเท่านั้นใช้แบบ wildcard หลายๆ sub-domain ไม่ได้ ฟีเจอร์อื่นๆ ก็จะน้อยกว่าแบบเสียเงิน (แหงหละ) แบบฟรีกับแบบเสียเงินต่างกันตรงไหนบ้างดูได้ที่นี่ครับ

แถมอีกนิิดนึงครับ ไหนๆ ก็ใช้ของเค้าฟรีแล้วแปะ banner โฆษณาให้เขาหน่อยก็แล้วกันครับ เข้าไปดูโค้ดแบบต่างๆ ได้ที่นี่ หรือถ้าถูกใจก็ donate กันได้

Free StartCom Certificate Member

One Comment

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.