1. 摘要
《【DevOps實踐】1.在Ubuntu上安裝持續(xù)集成工具Jenkins》安裝的Jenkins是http://IP訪問的僚匆,改為https訪問蒙袍,相對安全些推掸。本文講解配置方法。
2.實踐內(nèi)容
2.1 配置域名解析
經(jīng)過第一篇文章的操作梁肿,使用http:// ip_address:8080的方式輸入用戶名/密碼已經(jīng)可以訪問jenkins服務(wù)器了育八。
先配置域名解析到該服務(wù)器。本例中改执,我們的最終訪問地址為
https://jenkins.artarva.com啸蜜。
2.2 申請免費SSL證書
很多同學(xué)可能還不知道,阿里云是可以申請免費SSL證書的辈挂,時間有效期為1年盔性。每個企業(yè)有20個免費的單域名SSL證書。
https://yundun.console.aliyun.com/?spm=a2c1d.8251892.products-grouped.dcas.50595b76R0EC37&p=cas#/overview/cn-hangzhou
需要返回到域名解析中呢岗,把按照提示冕香,把DNS解析到域名解析中。然后下載NGINX的SSL證書文件后豫,5241378_jenkins.artarva.com_nginx.zip悉尾,解壓后有私鑰和證書文件信息:5241378_jenkins.artarva.com.key,5241378_jenkins.artarva.com.pem挫酿。
2.3 配置NGINX反向代理
我們假設(shè)NGINX在目標(biāo)服務(wù)器已經(jīng)安裝好了构眯。沒有安裝好的,參考《【NGINX入門】1.Nginx基本介紹和安裝入門》早龟。
配置Jenkins的NGINX配合文件“Jenkins.conf”惫霸,例如:
server
{ listen 443 ssl http2;
#listen 80;
server_name jenkins.artarva.com;
#SSL-START SSL相關(guān)配置,請勿刪除或修改下一行帶注釋的404規(guī)則
#error_page 404/404.html;
ssl_certificate /etc/letsencrypt/live/jenkins.artarva.com/5241378_jenkins.artarva.com.pem;
ssl_certificate_key /etc/letsencrypt/live/jenkins.artarva.com/5241378_jenkins.artarva.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
error_page 497 https://$host$request_uri;
#Location配置
location / {
proxy_set_header X-Rea $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://localhost:8080;
proxy_set_header X-Forwarded-Proto $scheme;
}
access_log /www/wwwlogs/jenkins.artarva.com.log;
error_log /www/wwwlogs/jenkins.artarva.com.log;
}
然后在nginx.conf中增加該配置文件葱弟。
...
include /www/server/nginx/conf/jenkins.conf;
重啟下NGINX壹店,就可以直接訪問https://jenkins.artarva.com了。
2.4 問題描述
問題描述:
使用nginx 對Jenkins做反向代理芝加,nginx使用https協(xié)議硅卢,Jenkins使用http訪問,用https://jenkins.com 訪問可以正常進入首頁,在首頁里點擊其他功能頁時将塑,跳轉(zhuǎn)會自動請求協(xié)議為http的協(xié)議脉顿。所以我們需要將跳轉(zhuǎn)其他功能頁時,使用的協(xié)議也修改為https点寥。
解決方式
需要在nginx配置中加入 proxy_set_header X-Forwarded-Proto $scheme; 這個請求頭艾疟。
location / {
proxy_set_header X-Rea $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://localhost:8080;
proxy_set_header X-Forwarded-Proto $scheme;
}
轉(zhuǎn)載于:https://www.cnblogs.com/jakaBlog/p/11341532.html
3. 參考
(1)如何在Ubuntu 16.04上安裝Jenkins
http://www.reibang.com/p/845f267aec52
(2)Jenkins 通過nginx使用Https協(xié)議反向代理
https://blog.csdn.net/diandianpai7591/article/details/101885689
(3)修改Ubuntu下的jenkins端口號
https://blog.csdn.net/csfreebird/article/details/9033443