最近在配置geo的时候,客户说自己使用的是自签证书,然后是通过ip地址和端口的方式访问gitlab,比较好奇这块,因此对证书的生成和使用做了一些整理,对此网上关于这部分资料也很多,不过作为记录,也算是自己的部分实践。
通过openssl genrsa 命令可以用来生成 RSA 私有秘钥,但是并不会生成公钥,因为公钥提取自私钥。生成时是可以指定私钥长度和密码保护。
openssl genrsa -out server.key 2048
参数说明
openssl req -new -x509 -days 3650 -key server.key -out server.crt -subj "/C=CN/ST=BeiJing/L=BeiJing/O=BJ/OU=BJ/CN=192.168.31.40/emailAddress=wkx323@163.com"
参数说明
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
根据命令行向导来进行信息输入:
openssl x509 -req -in server.csr -out server.crt -signkey server.key -days 3650
将生成的server.key
和 server.crt
拷贝到服务器的证书位置即可。如gitlab的配置:
...
...
external_url 'https://192.168.31.40:19090'
letsencrypt['enable'] = false
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"
...
...