Jenkins HTTPS

HTTP轉HTTPS

ZONGRU Li
Jul 5, 2022

先找到官方文件,因為我用的是docker hub上的社群版Jenkins容器

所以來docker hub這找文件:

LINK

其中轉換HTTPS運行Jenkins Container的方式寫在這:

看起來會需要有憑證的pfx檔key檔

其中pfx檔研究後是可以從crt檔轉換而來

所以首先先把crt檔key檔建立出來(參考之前gitlab搞得,或看LINK)

#以下HostName用的IP位置記得更換!!!!!!!!!!#先搞個目錄:
sudo mkdir -p /tmp/jenkins/ssl
sudo chmod 755 /tmp/jenkins/ssl
#建立私鑰檔:
sudo openssl genrsa -out "/tmp/jenkins/ssl/52.69.92.186.key" 2048
#透過上述私鑰檔建立憑證檔:
sudo openssl req -new -key "/tmp/jenkins/ssl/52.69.92.186.key" -out "52.69.92.186.csr" -subj '/C=TW/ST=Taiwan/L=Taipei/CN=3.112.193.218/emailAddress=root@52.69.92.186'
#設置憑證有效日期(10年),結束後這個csr可移除:
sudo openssl x509 -req -days 3650 -in "52.69.92.186.csr" -signkey "/tmp/jenkins/ssl/52.69.92.186.key" -out "/tmp/jenkins/ssl/52.69.92.186.crt"
#確認憑證效期:
openssl x509 -enddate -noout -in /tmp/jenkins/ssl/52.69.92.186.crt
#轉換crt為pfx格式,過程需要key:
sudo openssl pkcs12 -export \
-in "
/tmp/jenkins/ssl/52.69.92.186.crt" \
-inkey "
/tmp/jenkins/ssl/52.69.92.186.key" \
-out "
/tmp/jenkins/ssl/52.69.92.186.pfx"

撰寫Dockerfile:

到與各個憑證檔案一樣的目錄下建立Dockerfile:

#在Dockerfile與各個憑證相關檔案都在同一目錄情況下執行:
sudo podman build -f Dockerfile -t docker.io/jenkins/jenkins:lts-https-ver
#重新以上述重建的jenkins image來運行jenkins container:
sudo podman run -p 8080:8080 -p 8443:8443 -p 50000:50000 -d \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts-https-ver

進入到此網址 →https://{Jenkins機台IP}:8443

因為吃的還是舊的PV,所以之前的帳密還是可以登入:

Chrome看左上的"不安全"可以看到:

很明顯是效期有延展的憑證!

然後http:{JenkinsIP}:8080也還可以進去:

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet