Namecheap, GitLab y Let’s Encrypt🔗

Es posible tener un dominio en Namecheap, con hosting en GitLab Pages y certificado SSL/TLS (HTTPS) mediante Let’s Encrypt.

Suponiendo que se tiene registrado el dominio dominio1.com en Namecheap y el repositorio repositorio1.gitlab.io en GitLab.

  1. En el repositorio de GitLab a crear una página web se accede a Settings > Pages, se selecciona la opción Force HTTPS (requires valid certificates) y se da clic al botón New Domain, se ingresa dominio1.com en Domain y se selecciona la opción Automatic certificate management using Let’s Encrypt.

    Una vez registrado el dominio, se ingresa a la opción Edit dentro de Settings > Pages de dominio1.com para obtener la llave de verificación de propiedad del dominio.

    El valor que interesa es el indicado por Verification Status (_gitlab-pages-verification-code=AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH), el cual será usado en Namecheap.

  2. En Namecheap se accede a Domain List > dominio1.com > Manage > Advanced DNS y se agregan los siguientes registros:

    • Type: A record, Host: @, Value: 35.185.44.232, TTL: Automatic
    • Type: TXT record, Host: @, Value: _gitlab-pages-verification-code=AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH, TTL: Automatic

De está manera mediante https://dominio1.com se podrá acceder a https://repositorio1.gitlab.io.

Para hacer uso de https://www.dominio1.com se agregarían los siguientes registros en Namecheap:

  • Type: CNAME record, Host: www, Value: 35.185.44.232, TTL: Automatic
  • Type: TXT record, Host: www, Value: _gitlab-pages-verification-code=AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHH, TTL: Automatic

Subdominio y repositorio privado

Obtuve un error al tratar de ingresar a https://www.dominio1.com ya que repositorio1.gitlab.io era privado en GitLab. He tenido que registrar a www.dominio1.com como A record en Namecheap, en lugar de CNAME record, como solución alterna. Como resultado dominio1.com y www.dominio1.com no tienen el mismo certificado SSL/TLS (HTTPS).

Fuentes🔗