คู่มือ / การใช้งาน

ติดตั้ง SSL อัตโนมัติบน nginx, IIS ด้วย agent

agent คือโปรแกรมตัวเดียว (Go ไม่มี dependency) ที่ติดตั้งบนเครื่องปลายทางแต่ละเครื่อง ทำหน้าที่ส่งใบรับ⁠รองไปถึงเครื่องจริงของคุณ และต่ออายุให้เองโดยไม่ต้องมีคนมาทำ

ก่อนติดตั้ง

  • ใช้แค่ขาออก HTTPS เครื่องต้องออก TCP 443 ไปที่ api.nolapse.io (ดาวน์โหลด agent เฉพาะตอนติดตั้ง) และ agents.nolapse.io (ตลอดเวลา) ไม่ต้องเปิดพอร์ตขาเข้า ไม่ต้องมี public IP
  • ต้องยืนยันโดเมนในพอร์ทัลก่อน ถ้ายังไม่ยืนยัน agent จะทำงานอยู่แต่ไม่ออกใบให้
  • สิทธิ์ root / Administrator สำหรับโหมด nginx และ iis เพราะต้องเขียน config ของเซิร์ฟเวอร์และสั่งรีโหลด
  • เฉพาะ IIS: ต้องมี openssl อยู่ใน PATH เพราะ Windows ไม่มีติดมา

ติดตั้งบน Linux (systemd)

curl -fsSL https://api.nolapse.io/install.sh | sudo bash -s -- \
  --token <token> --domain <fqdn> --service nginx

ก๊อปคำสั่งจากหน้า Agents → New agent ในพอร์ทัล ซึ่งมี token ใช้ครั้งเดียวของคุณใส่มาให้แล้ว รองรับทั้ง x86-64 และ ARM64

ติดตั้งบน Windows

& ([scriptblock]::Create((iwr https://api.nolapse.io/install.ps1 -UseBasicParsing).Content)) \
  -Token <token> -Domain <fqdn>

รันใน PowerShell แบบ Run as Administrator โดย agent จะทำงานเป็น Scheduled Task ชื่อ PentabyteCertAgent ภายใต้บัญชี SYSTEM และเริ่มเองทุกครั้งที่เปิดเครื่อง

สิ่งที่ถูกติดตั้ง

  • Linux: /opt/cert-agent/ (ตัวโปรแกรม tls.crt tls.key state.json) และเซอร์วิส cert-agent ดู log ด้วย journalctl -u cert-agent -f
  • Windows: %ProgramFiles%\cert-agent\
  • private key สร้างขึ้นบนเครื่องของคุณและไม่เคยออกจากเครื่อง ส่งขึ้นมาแค่ CSR เท่านั้น ส่วน tls.key และ state.json อ่านได้เฉพาะ root

เครื่องปลายทางที่รองรับ

  • nginx (--service nginx) เขียน vhost ลง /etc/nginx/conf.d/ ตรวจด้วย nginx -t แล้วรีโหลด โฟลเดอร์นี้ต้องถูก include ใน nginx.conf ของคุณ
  • IIS (--service iis) นำเข้าใบรับ⁠รองสู่ machine store แล้วผูกกับไซต์
  • PAN-OS / FortiOS (--service panos / fortios) ส่งผ่าน API ของอุปกรณ์ ไม่ต้องติดตั้งอะไรบนอุปกรณ์ ให้รัน agent บนเครื่องใดก็ได้ที่ต่อถึง management IP ของอุปกรณ์ โดยใช้ API user ที่มีสิทธิ์นำเข้าใบรับ⁠รอง
  • อื่น ๆ (--service none) agent เขียนไฟล์ให้อย่างเดียว เพิ่ม --reload "<คำสั่ง>" เพื่อรีสตาร์ตเซอร์วิสของคุณหลังต่ออายุทุกครั้ง

agent เชื่อมต่อไปที่ agents.nolapse.io เท่านั้น ผ่าน mTLS ด้วย client certificate แยกรายเครื่อง ส่วน enroll token ใช้ได้ครั้งเดียว เมื่อ agent ลงทะเบียนแล้ว token ที่อยู่ในไฟล์เซอร์วิสจะใช้ไม่ได้อีก