技术

为Jenkins配置ssl访问

1, 创建自签名证书

注:该篇使用debian10系统

1, 使用openssl创建一个证书:生成一个rsa密钥结构,使用x509证书文件定义证书, 配置证书有效时间,设置位置,国家等

openssl req -newkey rsa:2048 -nodes -keyout one1.pem -x509 -days 365 -out key.pem

Country Name (2 letter code) []:CN                        // 输入国家代码,中国填写 CN

State or Province Name (full name) []:HangZhou            // 输入省份,这里填写 HangZhou

Locality Name (eg, city) []:HangZhou                      // 输入城市,我们这里也填写 HangZhou

Organization Name (eg, company) []:Nokia                  // 输入组织机构(或公司名,我这里随便写个Nokia)

Organizational Unit Name (eg, section) []:                  // 输入机构部门

Common Name (eg, fully qualified host name) []:*.abc.com   // 输入域名,我这边是 (*.abc.com) 

Email Address []:                                      // 你的邮箱地址

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:123456                         // 你的证书密码,如果不想设置密码,可以直接回车

2, 继续上面的示例,必须将文件 one1.pem 和 key.pem 合并到 PKCS #12 密钥库中并设置密码: 比如redhat

openssl pkcs12 -inkey one1.pem -in key.pem -export -out one1.p12

3, 将PKCS12转换为JKS格式 会让你设置密码 比如nokia123

keytool -importkeystore -srckeystore one1.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jk

2, 修改Jenkins的配置

1,进入到/lib/systemd/system/目录修改jenkins.service守护进程将, 如下参数加入进去

先把 #Environment="JENKINS_PORT=-1" 禁用http访问
Environment="JENKINS_HTTPS_PORT=5901"
Environment="JENKINS_HTTPS_KEYSTORE=/var/lib/jenkins/keystore.jks"
Environment="JENKINS_HTTPS_KEYSTORE_PASSWORD=<your-password>"

2, 可选:服务脚本文件修改

vim /etc/init.d/Jenkins

2, 重新启动 Jenkins 服务

systemctl daemon-reload
systemctl restart jenkins.service
Prev Next
No Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注