• September 24, 2018

    1.ถอด cloudflare ก่อน
    โดยไม่ต้องไปยุ่งกับ cloudflare แค่ไปเปลี่ยน DNS ของ domain (โดยใช้ DNS ของ hosting)

    2. รอให้ DNS อัพเดท (จะมี อีเมลแจ้งเตือน)

    3. gen key ssl ที่ directadmin

    บางครั้ง gen ไม่ผ่าน เพราะ มีการ gen เกินกำหนดครั้งที่กำหนด
    (อาจจะเป็นคิดรวม เว็บอื่นด้วยที่อยู่ใน host) ให้ genใหม่ในอีกวัน

    บางครั้งเกิดจาก name sever ยังไม่อัพเดท
    หลังเปลี่ยน cloudflare
    ให้รออีเมลแจ้งบอกก่อนว่า อัพเดทแล้ว
    ตอนทำ Mon, Sep 24, 11:00 AM (21 hours ago) แต่ทำแล้วไม่ได้เพราะ name sever ยังไม่อัพเดท
    อัพเดท name server แล้ว Mon, Sep 24, 4:47 PM (15 hours ago) ทำได้แล้ว

    เมื่อ gen key ssl สำเร็จแล้ว
    (ติดตั้ง SSL (https) ฟรี ด้วย Let’s Encrypt)

    +https://www.hostinglotus.com/hosting/knowledgebase/145/-Certificate-SSL-Free–Letandsharp039-Encrypt–DirectAdmin-.html

    ต่อไปเป็นการแก้ไขข้อมูลเว็บ

    1.ถ้าเป็นเว็บ html ให้ Link ใน ทุกไฟล์ จาก http เป็น https แล้วอัพโหลดไปทับ

    ใช้โปรแกรม search and replace
    http://cymiz.com –> https://www.cymiz.com
    http://www.cymiz.com –> https://www.cymiz.com

    2.ถ้าเป็น wordpress

    เข้าไป dashboard แก้ setting > general
    WordPress Address (URL) และ Site Address (URL)
    เมื่อกด save มันจะ logout ให้ login ใหม่

    แล้วไปแก้ข้อมูล  (database) เปลี่ยน link ที่อาจมีการโพสท์ในส่วนของเนื้อหา ให้เป็น https ให้หมด
    ซึ่งจะพบกว่า ส่วนมากจะเป็นที่อยู่ของ รูปภาพ ยังเป็น link แบบ http อยู่
    (ผลคือ ทำให้กุญแจไม่เป็นสีเขียว และ ถ้า ได้บังคับให้เป็น https โดย htaccess แล้ว จะทำให้ ไม่แสดงรูป)

    วิธีแก้
    วิธี1 ใช้คำสั่ง แทนที่ ใน MySQL หรือ plugin ก็ได้
    วิธี2 ใช้ plugin ssl real… (แต่ไม่แนะนำ เพราะมันไมไ่ด้แก้ database จริง)

     

    ต่อไปเป็นการทำให้ เข้า https ได้อย่างเดียว

    google มองว่า http และ https เป็นคนละเว็บกัน ถ้าเราไม่ทำ ให้มันเป็นอันใดอันหนึ่ง
    จะถูกมองว่าเว็บเป็น Duplicate content ข้อมูลซ้ำซ้อน ส่งผลต่ออันดับเว็บ

    วิธีคือ การทำ htatcess redirect 301 โดยใส่ code
    .htaccess

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    </IfModule>
    
    หรือ
    RewriteEngine on
    
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.*)$ https://www.domain.com/$1 [R=301,L]
    
    # force ssl
    RewriteCond     %{SERVER_PORT} ^80$
    RewriteRule     ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    

    เสร็จแล้วก็ไป ใส่ cloundflare และตั้งต่า full ssl

    จบ************

    สำหรับเว็บไซต์ HTTPS ที่ติดโฆษณา

    เว็บไซต์ที่เป็น HTTPS จะไม่มีการส่ง Referer (ค่าที่บอกปลายทางว่ามาจากเว็บไหน) ไปให้เว็บปลายทางที่เป็น HTTP

    ลูกค้าจะ Track ไม่ได้ว่ามีคนคลิกแบนเนอร์มาจากเว็บเรากี่คน ซึ่งอาจจะทำให้ลูกค้ามองว่าเว็บเราลงโฆษณาแล้วไม่ได้ผล

    เพิ่มโค้ดด้านล่างลงไปใน <head> ของเว็บไซต์

    <meta name=“referrer” content=“origin”>

    เท่านี้เว็บไซต์ HTTPS ของเราก็จะส่งค่า Referer ปกติแล้ว

    ใช้ LET’S ENCRYPT

    Flexible SSL ของ Cloudflare เป็นการเอา HTTPS ของ Cloudflare ครอบเว็บไซต์ โดยที่เว็บไซต์เราจริง ๆ ยังเป็น HTTP อยู่อนาคตหากปิด Cloudflare ไปชั่วคราว จะทำให้เว็บล่ม

    อีกวิธีที่เป็น HTTPS ฟรีเหมือนกัน แต่เราได้ HTTPS จริง ๆ คือใช้ Let’s Encrypt
    สอบถาม Hosting ที่ใช้บริการอยู่ได้เลยว่าเค้าสามารถทำ HTTPS ให้ได้มั้ย (เดี๋ยวนี้โฮสต์ดี ๆ ทำได้ทุกเจ้าแล้ว กดจาก DirectAdmin เองได้เลย หรือถ้าใครใช้พวก AWS, DigitalOcean ก็ลุยเองเลย)

    โดยสิ่งที่ต้องทำเพิ่มเติมเองก็เหมือนกับการใช้ Flexible SSL เลย นั่นคือ:

    1. แก้ resource ทั้งหมดที่โหลดด้วย HTTP ให้โหลดด้วย HTTPS (ในธีมบางครั้งมันใช้ HTTP ธรรมดา)
    2. (สำหรับ WordPress) เปลี่ยนเป็น HTTPS ใน Settings > General
    3. คนจะยังเข้า HTTP ธรรมดาได้อยู่ ถ้าเขาพิมพ์แบบนั้น เราต้อง Mod rewrite ให้ redirect ไป https (หรือกำหนด Page Rule แบบข้อ 6. ด้านบนก็ได้)
    4. Search & Replace ในฐานข้อมูลของเรา จาก http://yoursite ให้เป็น https://yoursite

     



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories