IP SSL 인증서

명령 한 줄로 서버 IP 주소용 무료 신뢰 Let's Encrypt HTTPS 인증서를 발급합니다. 도메인 불필요, 자동 설치·자동 갱신.

서버에서 root로 실행

bash <(curl -sL ipk.me/ssl) -l ko 216.73.217.175
-l ko보고서 언어(이 페이지와 동일)
-4 / -6IPv4 또는 IPv6만
-w /var/www/html포트 80 임시 서버 대신 웹 서버의 루트 디렉터리로 검증
-r "systemctl reload nginx"갱신할 때마다 실행할 명령 (기본: 실행 중인 nginx / Apache / Caddy 리로드)
-d /etc/ssl/ipk인증서 파일 설치 위치
-y포트 80의 웹 서버를 중지하기 전에 묻지 않음
--alpn포트 80 대신 포트 443(TLS-ALPN-01)으로 검증
--stagingLet's Encrypt 테스트 환경 사용 (신뢰되지 않는 인증서, 시험용)
203.0.113.10 2001:db8::10포함할 IP. 생략하면 서버의 발신 IPv4 / IPv6를 사용하며, 공인 IP가 더 있으면 어떤 것을 포함할지 묻습니다

작동 방식

  • 내장된 경량 ACME 클라이언트(bash, openssl, curl만 필요, 임시 검증 서버는 python3)가 Let's Encrypt 단기 프로필로 신청합니다. IP 인증서는 약 6일간 유효하며 3일마다 갱신됩니다.
  • 검증은 포트 80(HTTP-01)으로 이루어지므로 IP의 포트 80에 인터넷에서 접근할 수 있어야 합니다. 발급 전에 ipk.me가 외부에서 확인합니다.
  • 포트 80이 막혔나요? 포트 443(TLS-ALPN-01)도 됩니다: --alpn을 붙이거나, 443만 접근 가능하면 자동으로 전환됩니다. IP 인증서는 DNS로 검증할 수 없습니다.
  • 발급 후 인증서·개인 키 경로와 유효 기간을 출력하고, 스크립트 사본을 /etc/ssl/ipk에 저장하며 매일 실행되는 갱신 작업을 crontab에 추가합니다.
  • nginx, Apache 또는 Caddy가 포트 80 / 443을 사용 중이면 발급·갱신 중 몇 초간 중지합니다. -w로 피할 수 있습니다.
  • IPv4와 IPv6는 하나의 인증서에 들어갑니다. 사설 및 CGNAT 주소는 발급받을 수 없습니다. 중국 본토에서는 ICP 등록이 없는 서버의 포트 80이 자주 차단됩니다.
  • Linux에서 동작합니다. ipk.me로는 IP 주소만 전송되며 개인 키는 서버를 떠나지 않습니다.
한국어