Certificado SSL para IP
Un comando para obtener un certificado HTTPS gratuito y de confianza de Let's Encrypt para la IP de tu servidor, sin dominio; se instala y renueva automáticamente.
Ejecuta como root en tu servidor
bash <(curl -sL ipk.me/ssl) -l es 216.73.217.175 -l es | Idioma del informe (el de esta página) |
-4 / -6 | Solo IPv4 o IPv6 |
-w /var/www/html | Validar mediante el directorio raíz de tu servidor web en lugar de un servidor temporal en el puerto 80 |
-r "systemctl reload nginx" | Comando tras cada renovación (por defecto: recargar nginx / Apache / Caddy si está en marcha) |
-d /etc/ssl/ipk | Dónde instalar los archivos del certificado |
-y | No preguntar antes de detener el servidor web del puerto 80 |
--alpn | Validar por el puerto 443 (TLS-ALPN-01) en lugar del 80 |
--staging | Usar el entorno de pruebas de Let's Encrypt (certificado no confiable, para probar) |
203.0.113.10 2001:db8::10 | Direcciones IP a incluir. Sin ellas se usa la IPv4 / IPv6 de salida del servidor; si tiene más IP públicas, se te pregunta cuáles incluir |
Cómo funciona
- Un cliente ACME ligero integrado (solo bash, openssl y curl; python3 para el servidor de validación temporal) solicita el certificado con el perfil de corta duración de Let's Encrypt: los certificados IP valen unos 6 días y se renuevan cada 3 días.
- La validación va por el puerto 80 (HTTP-01), así que el puerto 80 de la IP debe ser accesible desde Internet; antes de emitir, ipk.me lo comprueba desde fuera.
- ¿Puerto 80 bloqueado? El 443 también sirve (TLS-ALPN-01): añade --alpn; también se elige solo si únicamente el 443 es accesible. Los certificados IP no se pueden validar por DNS.
- Tras emitirlo se muestran las rutas del certificado y la clave y su validez; se guarda una copia del script en /etc/ssl/ipk y se añade a crontab una tarea diaria de renovación.
- Si nginx, Apache o Caddy usa el puerto 80 / 443, se detiene unos segundos durante la emisión y la renovación; usa -w para evitarlo.
- IPv4 e IPv6 van en un solo certificado. Las direcciones privadas y CGNAT no pueden obtenerlo. En China continental, los proveedores cloud suelen bloquear el puerto 80 en servidores sin registro ICP.
- Funciona en Linux. Solo se envían tus direcciones IP a ipk.me; la clave privada nunca sale de tu servidor.