Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

วิธีขอใบรับรอง SSL Wildcard ฟรีจาก Let's Encrypt

ปัจจุบัน ส่วนใหญ่ของトラフィคเว็บถูกเข้ารหัสด้วย HTTPS มันกลายเป็นที่นิยมมากขึ้น โดยเฉพาะหลังจากการแนะนำ Let's Encrypt องค์การออกใบรับรอง (CA) ที่ได้รับการสนับสนุนจากบริษัทใหญ่ในอุตสาหกรรม Let's Encrypt ให้ใบรับรอง SSL/TLS ฟรี تمامًا ระยะเวลา 90 วัน

โดยทั่วไป ใบรับรองจะผูกกับชื่อโดเมนเฉพาะเจาะจง หากคุณมีใบรับรองสำหรับ "www.example.com" คุณสามารถใช้ได้กับโดเมนที่แน่นอนนี้เท่านั้น ส่วนใบรับรอง wildcard จะออกสำหรับโดเมนหลัก และใช้ได้กับซับโดเมนใดๆ ของโดเมนหลัก ตัวอย่างเช่น ใบรับรอง wildcard สำหรับ *.example.com ใช้ได้กับ "www.example.com", "account.example.com", "mail.example.com" ฯลฯ ใบรับรอง wildcard จึงให้ประโยชน์ว่าแค่ขอและต่ออายุใบรับรองเดียวสำหรับซับโดเมนทั้งหมดปัจจุบันและอนาคต

นี่คือวิธีขอใบรับรอง wildcard สำหรับโดเมนที่จดทะเบียนแล้วจาก Let's Encrypt บน Ubuntu, Debian และระบบ Debian-based อื่นๆ

1. ติดตั้ง acme.sh

Let's Encrypt ใช้โปรโตคอล Automated Certificate Management Environment (ACME) เพื่อยืนยันว่าคุณเป็นเจ้าของโดเมน และออก/ต่ออายุใบรับรอง Acme.sh เป็นไคลเอนต์ ACNE ยอดนิยมที่เขียนด้วย shell script เพื่อติดตั้ง คุณต้องติดตั้ง git ก่อน:

sudo apt update sudo apt install -y git

ดาวน์โหลด repository จาก github:

git clone https://github.com/Neilpang/acme.sh.git

เข้าสู่โฟลเดอร์ที่โคลนและเริ่มสคริปต์ติดตั้ง:

cd acme.sh/ ./acme.sh --install

โหลด shell session ใหม่เพื่อเริ่มใช้ acme.sh:

exec bash

2. ใช้ acme.sh ออกใบรับรอง wildcard

เพื่อให้ Let's Encrypt ออกใบรับรอง wildcard คุณต้องแก้ช่วงท้าทายแบบ DNS-based ที่รู้จักว่า Domain Validation (DV) Acme.sh รวมกับ API ของผู้ให้บริการ DNS หลักหลายแห่งและทำให้กระบวนการนี้อัตโนมัติสมบูรณ์

Cloudflare

หากคุณใช้บริการ DNS ของ Cloudflare ให้ล็อกอินบัญชีและคัดลอก Global API Key บันทึกเป็นตัวแปรสภาพแวดล้อมบนระบบ:

export CF_Key="your_cloudflare_api_key" export CF_Email="your_cloudflare_email_address"

ตอนนี้คุณสามารถขอใบรับรอง wildcard ได้:

acme.sh --issue --dns dns_cf -d '*.example.org'

NameCheap

หากคุณใช้เนมเซิร์ฟเวอร์ NameCheap ให้ทำตามคำแนะนำของพวกเขาในการเปิดใช้งาน API แล้วส่งออกตัวแปรที่จำเป็น:

export NAMECHEAP_SOURCEIP="your_server_ip" export NAMECHEAP_USERNAME="your_namecheap_username" export NAMECHEAP_API_KEY="your_namecheap_api_key"

ขอใบรับรอง wildcard:

acme.sh --issue --dns dns_namecheap -d '*.example.org'

DigitalOcean

หากโดเมนของคุณใช้ DNS ของ DigitalOcean ให้ทำตามคำแนะนำในการสร้าง personal access token ด้วยสิทธิ์อ่านและเขียน ส่งออก API key/token:

export DO_API_KEY="your_digitalocean_api_token"

ขอใบรับรอง wildcard:

acme.sh --issue --dns dns_dgon -d '*.example.org'

GoDaddy

หากโดเมนของคุณใช้ DNS ของ GoDaddy ให้คัดลอก API key และ secret ส่งออกไปยังสภาพแวดล้อม:

export GD_Key="your_godaddy_api_key" export GD_Secret="your_godaddy_api_secret"

ขอใบรับรอง wildcard:

acme.sh --issue --dns dns_gd -d '*.example.org'

Vultr

หากคุณใช้ DNS ของ Vultr คุณจะต้องมี personal access token หรือ sub-profile ที่มีสิทธิ์ "Manage DNS"

export VULTR_API_KEY="your_vultr_api_key"

ขอใบรับรอง wildcard:

acme.sh --issue --dns dns_vultr -d '*.example.org'

RackSpace

หากคุณใช้ RackSpace คุณจะต้องมี username และ API key ส่งออกดังนี้:

export RACKSPACE_Username="your_rackspace_username" export RACKSPACE_Apikey="your_rackspace_api_key"

ขอใบรับรอง wildcard:

acme.sh --issue --dns dns_rackspace -d '*.example.org'

กระบวนการด้วยตนเอง (Manual Process)

หากคุณไม่ต้องการหรือไม่สามารถใช้ API จากผู้ให้บริการ DNS คุณสามารถสร้างระเบียน DNS ด้วยตนเองเพื่อทำ domain validation challenge แตคุณจะต้องทำกระบวนการด้วยตนเองซ้ำๆ เพื่อต่ออายุโดเมน

acme.sh --issue --dns --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

คำสั่งนี้จะแสดง verification token ที่คุณต้องเพิ่มเป็นระเบียน DNS TXT

วิธีขอใบรับรอง SSL Wildcard ฟรีจาก Let s Encrypt

คัดลอก token และล็อกอินเข้าคอนโทรลแพนเนล DNS สร้างระเบียน DNS ใหม่แบบ TXT สำหรับซับโดเมน _acme-challenge และวาง token

วิธีขอใบรับรอง SSL Wildcard ฟรีจาก Let s Encrypt

รอสักครู่ให้ระเบียนใหม่เข้าถึงได้ แล้วขอใบรับรอง:

acme.sh --renew --yes-I-know-dns-manual-mode-enough-go-ahead-please -d '*.example.org'

ตำแหน่งไฟล์

คุณจะพบใบรับรองและไฟล์ที่เกี่ยวข้องในไดเรกทอรี ".acme.sh" ในโฟลเดอร์ home

  • ใบรับรองเองบันทึกเป็น "~/.acme.sh/*.example.org/*.example.org.cer"
  • คีย์ใบรับรองบันทึกเป็น "~/.acme.sh/*.example.org/*.example.org.key" ไฟล์นี้ควรเก็บเป็นความลับและไม่ควรแชร์
  • ไฟล์ fullchain certificate ซึ่งคุณน่าจะใช้มากที่สุด บันทึกเป็น "~/.acme.sh/*.example.org/fullchain.cer" ไฟล์นี้รวมใบรับรองของคุณกับของผู้ออกใบรับรอง (intermediate certificate)

ทำตามขั้นตอนด้านบน และคุณจะได้ใบรับรองโดเมน wildcard ของ Let's Encrypt