Jenkins 預設佔用埠口 8080,與其他服務(如 Tomcat、Nginx proxy)衝突。Ubuntu 下修改 Jenkins 埠口需調整兩處:/etc/init.d/jenkins 啟動腳本的 check_tcp_port 參數,與 /etc/default/jenkins 設定檔的 HTTP_PORT。
vi /etc/init.d/jenkins
# 找到 do_start() 函數中的 check_tcp_port 行:
check_tcp_port "http" "$HTTP_PORT" "8082" || return 1
# 將 8080 改為 8082(或所需埠口)
vi /etc/default/jenkins
# 修改:
HTTP_PORT=8082
# 原為 HTTP_PORT=8080
service jenkins restart
# 或
/etc/init.d/jenkins restart
ps -ef | grep java
# jenkins 7234 7233 99 11:14 ? 00:00:04 /usr/bin/java -jar /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8082 --ajp13Port=-1
# 確認 --httpPort=8082 生效

server {
listen 443 ssl;
server_name ci.example.com;
location / {
proxy_pass https://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Manage Jenkins → Configure Global Security → Prevent Cross Site Request Forgery exploits 勾選並設定 X-Forwarded-Proto 標頭信任。