由于Harbor不附带任何证书,它默认使用HTTP来提供注册表请求。但是,强烈建议为任何生产环境启用安全性。Harbour有一个Nginx实例作为所有服务的反向代理,您可以使用准备脚本来配置Nginx来启用https。
获得证书
假设您的注册表的主机名是reg.yourdomain.com,并且其DNS记录指向您正在运行Harbor的主机。您首先应该从CA获得证书。证书通常包含.crt文件和.key文件,例如yourdomain.com.crt和yourdomain.com.key。
在测试或开发环境中,您可以选择使用自签名证书而不是CA中的证书。以下命令生成您自己的证书:
- 创建您自己的CA证书:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
- 生成证书签名请求:
如果您使用FQDN(如reg.yourdomain.com)连接注册表主机,则必须使用reg.yourdomain.com作为CN(通用名称)。否则,如果您使用IP地址来连接您的注册表主机,CN可以是任何类似您的名字等等:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout yourdomain.com.key -out yourdomain.com.csr
- 生成注册表主机的证书:
如果您使用的是像reg.yourdomain.com这样的FQDN 来连接您的注册表主机,请运行以下命令以生成注册表主机的证书: