Chứng chỉ SSL cho IP

Một lệnh để lấy chứng chỉ HTTPS miễn phí, đáng tin cậy từ Let's Encrypt cho địa chỉ IP của máy chủ, không cần tên miền; tự động cài đặt và gia hạn.

Chạy bằng root trên máy chủ

bash <(curl -sL ipk.me/ssl) -l vi 216.73.217.175
-l viNgôn ngữ báo cáo (theo trang này)
-4 / -6Chỉ IPv4 hoặc IPv6
-w /var/www/htmlXác thực qua thư mục gốc của máy chủ web thay vì máy chủ tạm trên cổng 80
-r "systemctl reload nginx"Lệnh chạy sau mỗi lần gia hạn (mặc định: tải lại nginx / Apache / Caddy nếu đang chạy)
-d /etc/ssl/ipkNơi cài đặt tệp chứng chỉ
-yKhông hỏi trước khi dừng máy chủ web trên cổng 80
--alpnXác thực qua cổng 443 (TLS-ALPN-01) thay vì cổng 80
--stagingDùng môi trường thử nghiệm của Let's Encrypt (chứng chỉ không tin cậy, để thử)
203.0.113.10 2001:db8::10Địa chỉ IP đưa vào chứng chỉ. Nếu bỏ trống, dùng IPv4 / IPv6 đi ra của máy chủ; nếu máy chủ có thêm IP công khai, bạn sẽ được hỏi chọn IP nào

Cách hoạt động

  • Trình khách ACME gọn nhẹ tích hợp sẵn (chỉ cần bash, openssl và curl; python3 cho máy chủ xác thực tạm) xin chứng chỉ theo hồ sơ ngắn hạn của Let's Encrypt: chứng chỉ IP có hiệu lực khoảng 6 ngày và được gia hạn mỗi 3 ngày.
  • Xác thực qua cổng 80 (HTTP-01), nên cổng 80 của IP phải truy cập được từ Internet; trước khi cấp, ipk.me kiểm tra điều này từ bên ngoài.
  • Cổng 80 bị chặn? Cổng 443 cũng được (TLS-ALPN-01): thêm --alpn; nó cũng tự được chọn khi chỉ cổng 443 truy cập được. Chứng chỉ IP không thể xác thực qua DNS.
  • Sau khi cấp, hiển thị đường dẫn chứng chỉ, khóa và thời hạn; bản sao script được lưu ở /etc/ssl/ipk và một tác vụ gia hạn hằng ngày được thêm vào crontab.
  • Nếu nginx, Apache hoặc Caddy đang dùng cổng 80 / 443, nó sẽ bị dừng vài giây khi cấp và gia hạn; dùng -w để tránh.
  • IPv4 và IPv6 nằm chung một chứng chỉ. Địa chỉ riêng và CGNAT không thể nhận chứng chỉ. Ở Trung Quốc đại lục, nhà cung cấp đám mây thường chặn cổng 80 với máy chủ chưa đăng ký ICP.
  • Chạy trên Linux. Chỉ địa chỉ IP được gửi tới ipk.me; khóa riêng không bao giờ rời máy chủ.
Tiếng Việt