如何自定义GitLab Pages域名?对新增域名界面选项存疑
如何在GitLab Pages设置自定义域名,以及那些证书选项到底是什么意思?
我来一步步给你拆解这两个问题:
一、设置自定义域名的完整步骤
想要把GitLab Pages默认的https://gitlab.com/username/projectname/pages/domains换成自己的域名(比如https://thedomainiwant.com),跟着这几步操作就行:
在GitLab项目中添加自定义域名
- 打开你的GitLab项目,找到左侧菜单栏的「Settings」,再点击「Pages」选项
- 点击页面里的「New Domain」按钮,输入你想要的自定义域名(不用带
https://,直接填thedomainiwant.com即可) - 此时GitLab会生成一条域名验证用的TXT记录,先把这条记录值记下来,后面配置DNS会用到。
到域名注册商后台配置DNS解析
这是核心步骤,需要登录你购买域名的平台(比如阿里云、腾讯云等)的DNS管理页面,添加以下几条记录:- A记录:主机记录填
@(代表主域名),记录值填35.185.44.232(这是GitLab Pages的官方固定IP) - TXT记录:主机记录填
_gitlab-pages-verification-code.thedomainiwant.com(把后面的域名替换成你自己的),记录值填刚才GitLab生成的验证字符串 - 如果需要使用
www.thedomainiwant.com这类子域名,再添加一条CNAME记录:主机记录填www,记录值填username.gitlab.io(这里的username是你的GitLab用户名)
- A记录:主机记录填
等待验证生效
DNS解析生效通常需要10分钟到几小时,之后回到GitLab的Pages页面刷新,如果域名状态显示为「Active」,就说明配置成功了,访问你的自定义域名就能看到Pages站点。
二、「Certificate (PEM)」和「Key (PEM)」选项说明
你看到的这两个选项,其实是给手动上传SSL证书用的,大部分场景下你完全可以忽略它们!
GitLab默认会自动给自定义域名申请Let's Encrypt的免费SSL证书,而且会自动续期,所以直接跳过这两个选项,点击「Create new domain」即可。
那什么时候需要用到这两个选项呢?比如:
- 你有自己购买的商业SSL证书,不想使用免费证书
- Let's Encrypt自动申请证书失败(比如域名解析异常、域名是内部私有域名等)
这时你需要准备两个PEM格式的文件:
- Certificate (PEM):需要包含你的域名证书以及所有中间证书,文件内容是多段以
-----BEGIN CERTIFICATE-----开头、-----END CERTIFICATE-----结尾的文本,把证书和中间证书按顺序合并成一个文件即可 - Key (PEM):这是生成SSL证书时对应的私钥文件,内容以
-----BEGIN PRIVATE KEY-----或-----BEGIN RSA PRIVATE KEY-----开头,这个文件必须严格保密,不能泄露给任何人!
内容的提问来源于stack exchange,提问作者Shanks




