เช้าวันนี้เปิดอีเมล ได้รับอีเมลแจ้งเตือนจาก lets’s encrypt ว่า SSL certificate ของ domain name ที่ทำเป็น blog กำลังจะหมดอายุ blog นี้เองนี่หล่ะ วิธีมันจะไม่ automatic ต้องทำเองเป็นครั้งๆไป
วิธีที่จะทำ
- รันคำสั่ง
certbot certonly
เพื่อ renew/ต่ออายุ รันจากเครื่อง macbook ที่ใช้ทำงาน - เอา hash ที่ได้มาใส่ไฟล์แล้ว push ขึ้นไปที่ gitlab
- เอา key ที่ได้ renew แล้วไป upload ขึ้น gitlab ใหม่
ขั้นตอน
เมื่อติดตั้ง certbot command line บน macOS แล้ว
เปิด Terminal/iTerm2 พิมพ์คำสั่ง
❯ sudo certbot certonly -d by.dahoba.xyz --manual
Password:
มันจะถามว่า IP ที่ใช้รันคำสั่งนี้จะถูกบันทึกไว้นะ ยอมรับได้ไหม? ต้องตอบตกลงถึงจะได้ทำต่อ
NOTE: The IP of this machine will be publicly logged as having requested this certificate. If you’re running certbot in manual mode on a machine that is not your server, please ensure you’re okay with that.
Are you OK with your IP being logged?
(Y)es/(N)o:
เมื่อกด Y ตกลง จะเห็นข้อความทำนองนี้ (เจ้า ***
ผมใส่เองนะของจริงไม่มี)
Make sure your web server displays the following content at
http://by.dahoba.xyz/.well-known/acme-challenge/oZlA7JR0_NvjRA6paYR2tNJVKX52COK5E_qcTT**** before continuing:
oZlA7JR0_NvjRA6paYR2tNJVKX52*****_qcTTqRa6Y.0DEVnB4emccPvIDXe7WXV3ygZv-****7IDtgLUafP-o
If you don't have HTTP server configured, you can run the following
command on the target server (as root):
...
ให้เปิด gitlab มารอไว้ที่ folder .wellknown เลย
กด + สร้างไฟล์
Copy content ที่เห็นใน terminal ลงไป ประมาณนี้
กดปุ่ม Commit Changes
รอแป๊บนึงสัก 1 นาที
แล้วกด Enter ที่หน้าต่าง Terminal
ถ้าสำเร็จจะเห็นข้อความประมาณด้านล่างนี้
-------------------------------------------------------------------------------
Press Enter to Continue
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/by.dahoba.xyz/fullchain.pem. Your cert will
expire on 2017-09-11. To obtain a new or tweaked version of this
certificate in the future, simply run certbot again. To
non-interactively renew *all* of your certificates, run "certbot
renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
707s
เปิดหน้า Settings ของ Pages ลิ้งเมนูตามภาพ
ลบ Domain ที่มีอยู่ออกก่อน
แล้วกด + New Domain
Domain คือชื่อเดิมที่ใช้อยู่ Certificate (PEM) และ Key (PEM) จะได้มาด้วยคำสั่งตามตัวอย่างด้านล่าง
Certificate (PEM)
ใช้คำสั่ง
sudo cat /etc/letsencrypt/live/by.dahoba.xyz/fullchain.pem
Password:
เมื่อใส่ password ของ sudo แล้วจะได้ content Certificate เป็น hash ยาวๆแบบนี้
วิธีเอาไปใช้คือให้ copy ตั้งแต่บรรทัดบอกเริ่ม(-----BEGIN CERTIFICATE-----
)จนถึงบรรทัดบอกจบ (-----END CERTIFICATE-----
) ตัวสุดท้าย
-----BEGIN CERTIFICATE-----
MIIE/TCCA+WgAwIBAgISBDDdKHroQ/
...
SV3
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEkjC
...
/DNFu0Qg==
-----END CERTIFICATE-----
Key (PEM)
ใช้คำสั่ง
sudo cat /etc/letsencrypt/live/by.dahoba.xyz/privkey.pem
ได้ content ของ Key เป็น hash แบบนี้
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9
...
7xqg3dF3rJ+KygDJ6T1cT7M=
-----END PRIVATE KEY-----
วิธีเอาไปใช้คือให้ copy ตั้งแต่บรรทัดบอกเริ่ม (-----BEGIN PRIVATE KEY-----
) จนถึงบรรทัดบอกจบ (-----END PRIVATE KEY-----
)
ใส่ครบแล้วกด Create New Domain
รอสักครู่ใหญ่ๆ หรืออาจจะข้ามวัน certificate ตัวใหม่ของเราก้อจะตรวจพบได้
ภาพนี้ check ด้วย Chrome