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 ZeroSSL con Ghost en lugar de Let’s Encrypt.

¡Buen día!

¡He estado probando Ghost con mi dominio por un tiempo! ¡Nunca supe del límite de tasa de Let’s Encrypt, así que arruiné las cosas instalando y desinstalando repetidamente hasta que no pude obtener otro SSL de Let’s Encrypt de nuevo!

Actualmente estoy tratando de reinstalarlo y usarlo de verdad, pero Let’s Encrypt no me emitirá otro certificado SSL. ¡Ya esperé varios días y todavía no me lo dan!

Logré obtener un certificado SSL manualmente de ZeroSSL, pero no pude instalarlo debido a mi falta de familiaridad con Nginx y los certificados SSL en general.

Intenté instalar acme.sh manualmente y configurar el servidor por defecto en ZeroSSL, pero cada vez que ejecuto “ghost setup SSL”, todavía utiliza Let’s Encrypt.

Estaba pensando en crear manualmente un archivo de configuración en “/etc/nginx/sites-enabled” como “steptzi.com.ng.conf” y enlazar el que había obtenido manualmente.

¿Alguien aquí puede explicarme cómo configurar el certificado SSL tanto para la versión WWW como para la versión sin WWW de mi dominio con ZeroSSL o tal vez acme.sh?

Ghost “config.production.json”:

{
“url”: “https://steptzi.com.ng”,
“server”: {
“port”: 2368,
“host”: “127.0.0.1”
},
“database”: {
“client”: “mysql”,
“connection”: {
“host”: “localhost”,
“user”: “ghost-39”,
“password”: “3qQ&7\”lA:Oo^,OanH:MH”,
“database”: “ghost_prod”
}
},
“mail”: {
“transport”: “Direct”
},
“logging”: {
“transports”: [
“file”,
“stdout”
]
},
“process”: “systemd”,
“paths”: {
“contentPath”: “/var/www/ghost/content”
}
}

“steptzi.com.ng.conf”:

server {
    listen 80;
    listen [::]:80;

    server_name steptzi.com.ng;
    root /var/www/ghost/system/nginx-root; # Utilizado para la verificación SSL de acme.sh (https://acme.sh)

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2368;

    }

    location ~ /.well-known {
        allow all;
    }

    client_max_body_size 50m;
}
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para configurar el certificado SSL tanto para la versión de WWW como para la versión sin WWW de tu dominio con ZeroSSL o acme.sh, sigue los siguientes pasos:
    1. Primero, asegúrate de tener el certificado SSL de ZeroSSL.
    2. Conéctate a tu servidor vía SSH.
    3. Instala acme.sh ejecutando el siguiente comando:

    curl https://get.acme.sh | sh
    
    1. Configura el correo electrónico de la cuenta de ZeroSSL:
    export  ZEROSL_ACCOUNT_EMAIL=ejemplo@ejemplo.com
    
    1. Cambia el servidor predeterminado a ZeroSSL:
    acme.sh --set-default-ca --server zerossl
    
    1. Ahora, emite el certificado SSL de ZeroSSL:
    acme.sh --issue --dns dns_cf -d steptzi.com.ng -d www.steptzi.com.ng
    
    1. Una vez emitido el certificado SSL, instálalo con el siguiente comando:
    acme.sh --installcert -d steptzi.com.ng \
            --key-file /ruta/a/clave/privada.key \
            --fullchain-file /ruta/a/cadena/completa.crt \
            --reloadcmd "service nginx force-reload"
    
    1. Modifica el archivo config.production.json de Ghost para especificar la URL SSL que deseas utilizar:
    {
      "url": "https://steptzi.com.ng",
      ...
    }
    
    1. Crea un nuevo archivo de configuración para Nginx para manejar SSL en el puerto 443:
    sudo nano /etc/nginx/sites-available/steptzi.com.ng-ssl.conf
    
    1. Pega el siguiente código en el nuevo archivo y reemplace las rutas resaltadas con tus propias rutas hacia el certificado SSL y la clave privada:
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
    
        server_name steptzi.com.ng www.steptzi.com.ng;
        root /var/www/ghost/system/nginx-root;
    
        ssl_certificate /ruta/a/cadena/completa.crt;
        ssl_certificate_key /ruta/a/clave/privada.key;
    
        location / {
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $http_host;
            proxy_pass http://127.0.0.1:2368;
    
        }
    
        location ~ /.well-known {
            allow all;
        }
    
        client_max_body_size 50m;
    }
    
    1. Crea un enlace simbólico para habilitar la configuración SSL:
    sudo ln -s /etc/nginx/sites-available/steptzi.com.ng-ssl.conf /etc/nginx/sites-enabled/
    
    1. Prueba la configuración de Nginx:
    sudo nginx -t
    
    1. Si la prueba es exitosa, recarga Nginx para aplicar los cambios:
    sudo systemctl reload nginx
    

    Ahora tu blog de Ghost debería ser accesible a través de HTTPS con un certificado SSL válido.

Comments are closed.