ปัจจุบัน การเข้าชมเว็บส่วนใหญ่ได้รับการเข้ารหัสโดยใช้ HTTPS มีการแพร่หลายมากขึ้น โดยเฉพาะอย่างยิ่งนับตั้งแต่การเปิดตัว Let's Encrypt ซึ่งเป็นผู้ออกใบรับรอง (CA) ที่ได้รับการสนับสนุนจากบริษัทรายใหญ่ในอุตสาหกรรม Let's Encrypt มอบใบรับรอง SSL/TLS ให้ใช้งานได้ฟรีโดยมีอายุ 90 วัน
โดยทั่วไป ใบรับรองจะเชื่อมโยงกับชื่อโดเมนเฉพาะอย่างน้อยหนึ่งชื่อ ดังนั้นหากคุณมีใบรับรองสำหรับ “www.example.com” คุณสามารถใช้ได้เฉพาะกับชื่อโดเมนนี้เท่านั้น ในทางกลับกัน ใบรับรองไวด์การ์ดจะออกให้สำหรับชื่อโดเมนหลัก และสามารถใช้ได้กับโดเมนย่อยใดๆ ของโดเมนหลัก ตัวอย่างเช่น ใบรับรองไวด์การ์ดสำหรับ *.example.com สามารถใช้สำหรับ “www.example.com,” “account.example.com,” “mail.example.com” เป็นต้น ใบรับรองไวด์การ์ดจึงเป็นประโยชน์ ที่ต้องได้รับและต่ออายุใบรับรองเดียวสำหรับโดเมนย่อยปัจจุบันและอนาคตทั้งหมดของคุณ
ต่อไปนี้คือวิธีรับใบรับรองสัญลักษณ์แทนสำหรับชื่อโดเมนที่ลงทะเบียนจาก Let's Encrypt บน Ubuntu, Debian และการแจกแจงแบบใช้ Debian อื่นๆ
1. กำลังติดตั้ง acme.sh
Let's Encrypt ใช้โปรโตคอล Automated Certificate Management Environment (ACME) เพื่อตรวจสอบว่าคุณเป็นเจ้าของชื่อโดเมนของคุณและออก/ต่ออายุใบรับรอง Acme.sh เป็นไคลเอนต์ ACME ยอดนิยมที่ใช้งานในเชลล์สคริปต์ ในการติดตั้ง ก่อนอื่นคุณต้องติดตั้ง git:
sudo apt update sudo apt install -y git
ดาวน์โหลดที่เก็บจาก github:
git clone https://github.com/Neilpang/acme.sh.git
ป้อนไดเร็กทอรีโคลนและเริ่มสคริปต์การติดตั้ง:
cd acme.sh/ ./acme.sh --install
รีโหลดเชลล์เซสชันของคุณเพื่อเริ่มใช้ acme.sh:
exec bash
2. การใช้ acme.sh เพื่อออกใบรับรองตัวแทน
เพื่อให้ Let's Encrypt ออกใบรับรองไวด์การ์ด คุณต้องแก้ปัญหาที่ใช้ DNS ที่เรียกว่า Domain Validation (DV) Acme.sh ผสานรวมกับ API ของผู้ให้บริการ DNS รายใหญ่หลายรายอย่างสะดวกและทำให้กระบวนการนี้เป็นไปโดยอัตโนมัติอย่างสมบูรณ์
คลาวด์แฟลร์
หากคุณใช้บริการ DNS ของ Cloudflare ให้ลงชื่อเข้าใช้บัญชีของคุณและคัดลอกคีย์ API ทั่วโลกของคุณ บันทึกเป็นตัวแปรสภาพแวดล้อมในระบบของคุณ:
export CF_Key="your_cloudflare_api_key" export CF_Email="your_cloudflare_email_address"
คุณสามารถขอใบรับรองไวด์การ์ดได้แล้ว:
acme.sh --issue --dns dns_cf -d '*.example.org'
เนมราคาถูก
หากคุณกำลังใช้เนมเซิร์ฟเวอร์ NameCheap ให้ทำตามคำแนะนำในการเปิดใช้งานการเข้าถึง API จากนั้นส่งออกตัวแปรที่จำเป็น:
export NAMECHEAP_SOURCEIP="your_server_ip" export NAMECHEAP_USERNAME="your_namecheap_username" export NAMECHEAP_API_KEY="your_namecheap_api_key"
ขอใบรับรองไวด์การ์ด:
acme.sh --issue --dns dns_namecheap -d '*.example.org'
ดิจิทัลโอเชียน
หากโดเมนของคุณใช้ DNS ของ DigitalOcean ให้ทำตามคำแนะนำในการสร้างโทเค็นเพื่อการเข้าถึงส่วนบุคคลพร้อมสิทธิ์ในการอ่านและเขียน ส่งออกคีย์/โทเค็น API ของคุณ:
export DO_API_KEY="your_digitalocean_api_token"
ขอใบรับรองไวด์การ์ด:
acme.sh --issue --dns dns_dgon -d '*.example.org'
GoDaddy
หากโดเมนของคุณใช้ DNS ของ GoDaddy ให้คัดลอกคีย์ API และข้อมูลลับของคุณ ส่งออกไปยังสภาพแวดล้อมของคุณ:
export GD_Key="your_godaddy_api_key" export GD_Secret="your_godaddy_api_secret"
ขอใบรับรองไวด์การ์ด:
acme.sh --issue --dns dns_gd -d '*.example.org'
Vultr
หากคุณใช้ DNS ของ Vultr คุณจะต้องใช้โทเค็นเพื่อการเข้าถึงส่วนบุคคลหรือโปรไฟล์ย่อยที่มีสิทธิ์ "จัดการ DNS"
export VULTR_API_KEY="your_vultr_api_key"
ขอใบรับรองไวด์การ์ด:
acme.sh --issue --dns dns_vultr -d '*.example.org'
แร็คสเปซ
หากคุณกำลังใช้ RackSpace คุณจะต้องมีชื่อผู้ใช้และรหัส API ของคุณ ส่งออกตามที่แสดงด้านล่าง:
export RACKSPACE_Username="your_rackspace_username" export RACKSPACE_Apikey="your_rackspace_api_key"
ขอใบรับรองไวด์การ์ด:
acme.sh--issue --dns dns_rackspace -d '*.example.org'
กระบวนการด้วยตนเอง
หากคุณไม่ต้องการหรือไม่สามารถใช้ API ที่ผู้ให้บริการ DNS ของคุณให้มา คุณสามารถสร้างระเบียน DNS ด้วยตนเองเพื่อดำเนินการตรวจสอบโดเมนให้เสร็จสิ้น แม้ว่าคุณจะต้องทำขั้นตอนด้วยตนเองนี้ซ้ำเป็นประจำเพื่อต่ออายุโดเมนของคุณพี>
acme.sh --issue --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'
คำสั่งนี้จะแสดงโทเค็นการยืนยันซึ่งคุณจะต้องเพิ่มเป็นระเบียน DNS TXT
คัดลอกโทเค็นและเข้าสู่ระบบไปยังแผงควบคุม DNS ของคุณ สร้างระเบียน DNS ประเภท TXT ใหม่สำหรับ _acme-challenge
โดเมนย่อยแล้ววางโทเค็น
รอสักครู่เพื่อให้เข้าถึงบันทึกใหม่ จากนั้นขอใบรับรอง:
acme.sh --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'
ตำแหน่งไฟล์
คุณจะพบใบรับรองของคุณและไฟล์อื่นๆ ที่เกี่ยวข้องในไดเร็กทอรี “.acme.sh” ในโฟลเดอร์เริ่มต้นของคุณ
- ใบรับรองถูกบันทึกเป็น “~/.acme.sh/*.example.org/*.example.org.cer”
- คีย์ใบรับรองถูกบันทึกเป็น “~/.acme.sh/*.example.org/*.example.org.key” ไฟล์นี้ควรเก็บไว้เป็นส่วนตัวและห้ามแชร์
- ไฟล์ใบรับรอง fullchain ซึ่งเป็นสิ่งที่คุณน่าจะใช้มากที่สุด จะถูกบันทึกเป็น “~/.acme.sh/*.example.org/fullchain.cer” ไฟล์นี้รวมใบรับรองของคุณกับใบรับรองของผู้ออกใบรับรอง (เรียกว่าใบรับรองระดับกลาง)
ทำตามขั้นตอนข้างต้น แล้วคุณจะสามารถรับใบรับรองโดเมนสัญลักษณ์แทน Let's Encrypt