วันอังคารที่ 11 ธันวาคม พ.ศ. 2561

SSL

HTTPs vs HTTP

HTTP คืออะไร

Hypertext Transfer Protocol (HTTP) เป็น โปรโตรคอล ที่ใช้งานสำหรับเผยแพร่ข้อมูล ครั้งแรกเพื่อสำหรับการเผยแพร่และแลกเปลี่ยน HTML
HTTP เป็น โปรโตคอลที่ใช้ ร้องขอ/ตอบกลับ ระหว่างเครื่องลูกข่ายที่ใช้เว็บเบราว์เซอร์ กับเครื่องแม่ข่ายที่เรียกว่าเว็บเซิร์ฟเวอร์ โดยใช้โปรโตคอล TCP

HTTPS คืออะไร

คือ ระบบความปลอดภัยของ HTTP protocol สำหรับการแลกเปลี่ยนข้อมูลระหว่างเครื่อง server และ client ทำงานอยู่บนพอร์ต 443 ด้วยการเพิ่มข้อมูลในส่วนการระบุตัวผู้ส่ง และการเข้ารหัสข้อมูล

SSL (Secure Socket Layer )

SSL มีชื่อเต็มคือ Secure Socket Layer เป็นเทคโนโลยีการเข้ารหัสข้อมูลเพื่อเพิ่มความปลอดภัยในการส่งข้อมูลบนอินเทอร์เน็ต ทั้งในเว็บไซต์หรือแอปพลิเคชั่นต่างๆ ที่จะทำให้เว็บไซต์ของเรามีความปลอดภัย

ประเภทของ SSL Certificate
ถ้ามองดูอย่างผิวเผินแล้วแล้วเราคงแยกไม่ออกว่า SSL Certificate แต่และประเภทมันต่างกันอย่างไร เพราะสิ่งที่ทุกคนสังเกตในช่อง URL คือ https อย่างเดียว แต่จริงๆ แล้วมันสามารถจำแนกออกได้ 3 แบบหลักๆ คือ

1. Domain Validation SSL Certificate (DV)
นี่คือการออกใบรับรอง SSLที่ง่ายและไวที่สุด โดยฝั่งผู้ให้บริการ SSL จะมีการตรวจสอบเพียงว่าใครเป็นเจ้าของโดเมน (ชื่อเว็บไซต์) นี้เท่านั้น ไม่มีการตรวจสอบเชิงลึกแต่อย่างใด สามารถทำได้ในเวลาไม่กี่นาที

2. Organization Validation SSL Certificate (OV)
ตามชื่อเลยครับ นี่คือ SSL ในระดับองค์กร โดยจะมีการตรวจสอบในเชิงลึกมากขึ้น ทั้งตัวเจ้าของโดเมน และฝั่งองค์กรว่ามีอยู่จริงหรือไม่ผ่านกรมพัฒนาธุรกิจการค้า และอาจต้องยื่นเอกสารบางประการที่ฝั่งผู้ให้บริการ SSL ขอเพื่อยืนยันตัวตนหรือธุรกิจนั้นๆ

3. Extended Validation SSL Certificate (EV)
ตัวสุดท้ายคงเป็นการตรวจสอบที่เข้มงวดที่สุด สำหรับ Extended Validation ซึ่งนอกจากจะถูกตรวจสอบเจ้าของโดเมน ตรวจสอบองค์กรผ่านกรมธุรกิจการค้าแบบเดียวกับ Organization Validation แล้ว ยังมีการตรวจสอบข้อมูลเชิงลึกของบริษัทด้วย


ทำให้เป็น SSL



SSL ของ Cloudflare จะมีอยู่ 3 แบบ

ซึ่งถ้าเราซื้อใบรับรองอยู่แล้ว มันก็เป็น Full SSL หรือ Full SSL (Strict) แต่ถ้าไม่ซื้อ มันจะเข้ามาดูเว็บเราว่ามีใบรับรองหรือเปล่า? ถ้าไม่มี ก็เรียกที่ http ดื้อๆ เลยครับ แต่ว่าคนอื่นจะเห็นเป็น https เพราะว่าเค้าดูผ่าน cloudflare เท่านั้น ไม่มีทางดูผ่านเว็บเราโดยตรงได้ เรียกว่า Flexible SSL ตามรูปครับ



Flexible SSL

  Cloudflare จะทำการติดต่อกับ Server เราผ่านทาง HTTP Connection แล้วจะ Encrypt ข้อมูลเพื่อติดต่อกับเครื่อง Client ผ่านทาง HTTPS Connection

Result

ใช้ CloudFlare ในการทำ SSL





Load Balance

Load balance

ผลการค้นหารูปภาพสำหรับ load balance

จะมี Server 3 ตัว
           -  1 ตัว เป็นตัวแบ่งการทำงาน
           -  2 ตัว เป็น Server Webservice



ใช้ AWS ในการทำ Load Balance


จะเห็นว่ามี server 2 ตัว



จะเห็นว่ามี server ที่เป็น load balancing เป็นตัวแจกจ่ายงานให้ server ทั้งสอง





จะเห็นว่ามีการแบ่ง การทำงานของ server เครื่องละ 10 request




ผลการค้นหารูปภาพสำหรับ apache jmeter

ใช้ Apache JMeter ในการทดสอบ Request

ทดสอบ 1500 req / sec Error

   
จะเกิด Eror ขึ้น วิธีแก้ อาจจะต้องเพิ่ม Server ขึ้น