es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilice la API de Direct Admin para renovar programáticamente el certificado SSL de Let’s Encrypt.

Estoy trabajando en un sitio web donde los usuarios pueden agregar un nombre de dominio a su proyecto. Al hacer esto, el dominio se agrega como un apuntador de dominio a mi cuenta de Direct Admin. Hago esto utilizando la API de Direct Admin.

Todo esto funciona muy bien, pero este nuevo dominio no se agrega automáticamente al certificado SSL. Y tengo que hacer clic en el botón de renovar manualmente para que esto suceda.

Quiero hacer esta renovación de forma programática, pero estoy atascado. Primero intenté agregar un nuevo certificado SSL de esta manera:

$sock->query(‘/CMD_API_SSL’,
array(
‘domain’ => $domain,
‘action’ => ‘save’,
‘type’ => ‘create’,
‘request’ => ‘letsencrypt’,
‘name’ => $domain,
‘keysize’ => ‘secp384r1’,
‘encryption’ => ‘SHA256’,
‘le_select0’ => $domain,
‘le_select1’ => ‘www.’ . $domain,
‘submit’ => ‘save’
));

$result = $sock->fetch_body();

Pero esto no parece ser la forma correcta, al mirar el botón de renovación en Direct Admin vi que se utiliza un complemento de Let’s Encrypt para renovar el certificado SSL.

Intenté llamarlo de esta manera:

$sock->set_method(‘POST’);

$sock->query(‘/CMD_PLUGINS/letsencrypt/renew.html’,
array(
‘domain’ => $domain,
));

Pero esto tampoco funciona, el certificado SSL no se renueva. Como resultado, obtengo una página que dice ‘No puedo encontrar una dirección de correo electrónico, contacta a soporte’.

¿Alguien sabe cómo puedo hacer que esto funcione?
Gracias de antemano.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Automatización de renovación de certificados SSL para Direct Admin utilizando el complemento Let’s Encrypt

    Como experto en API y SSL con experiencia en DirectAdmin, esto es lo que sugiero para automatizar la renovación de certificados SSL para Direct Admin con el complemento Let’s Encrypt:

    1. Verificar que el complemento Let’s Encrypt esté instalado en tu servidor DirectAdmin. Si no lo está, primero debes instalarlo.
    2. Utilizar la API de DirectAdmin para llamar a la función de renovación del complemento Let’s Encrypt. Aquí tienes un ejemplo:

      $sock->set_method('POST');
      
      $sock->query('/CMD_PLUGINS/letsencrypt/renew.html',
          array(
            'domain' => $domain,
          ));
      
      $result = $sock->fetch_body();
      

      Nota: Reemplaza $sock con el objeto de conexión API de DirectAdmin y $domain con el nombre de dominio para el cual deseas renovar el certificado SSL.

    3. Asegurarse de que la dirección de correo electrónico de tu cuenta de Let’s Encrypt esté configurada en DirectAdmin. Esto es necesario para que Let’s Encrypt emita los certificados SSL. Puedes configurar esto en la sección “SSL Certificates” de DirectAdmin.

    4. Verificar que el certificado SSL haya sido renovado. Puedes verificar esto visualizando la información del certificado SSL en la sección “SSL Certificates” de DirectAdmin o mediante una herramienta verificadora de certificados SSL.

    Con estos pasos, deberías poder automatizar la renovación de certificados SSL para Direct Admin utilizando el complemento Let’s Encrypt. Si tienes algún problema, no dudes en comunicarte conmigo para obtener ayuda adicional.

Comments are closed.