Apache-2.4
在 /jenkins 上使用 apache 執行 Jenkins
我需要訪問Jenkins伺服器的
/jenkins
路徑。這就是我現在在我的 apache 配置中所擁有的:
ProxyPass /jenkins http://localhost:8080 ProxyPassReverse /jenkins http://localhost:8080
當我去 時
example.com/jenkins
,
我被重定向到example.com/login?from=%2F
,
而不是預期的exmaple.com/jenkins/login?from=%2F
。那麼apache是否有可能使來自我的Jenkins伺服器的所有請求都成為表單
example.com/jenkins/*
而不是example.com/*
?PS:我知道創建一個名為 的新伺服器會更好
jenkins.example.com
,但目前這不是我的選擇。
Jenkins 內部似乎有一個配置 Jenkins URL 的選項:Jenkins website root path。
另外,我在 Jenkins Wiki: Running Jenkins behind Apache中找到了 apache 配置文件。
編輯:
我設法以這樣的方式執行Jenkins伺服器
http://example.com/jenkins
:
- 在我的本地機器上,通過在文件中添加
JENKINS_ARGS
變數、--prefix=/jenkins
屬性,/etc/default/jenkins
然後重新啟動 Jenkins 服務。(來源:這個答案)- 在我的 docker 映像上,通過在命令
--prefix=/jenkins
末尾添加:run``docker run --name Jenkins -p 8080:8080 -p 50000:50000 jenkins --prefix=/jenkins
這是我的Jenkins的****apache配置條目:
ProxyPass /jenkins http://localhost:8080/jenkins nocanon ProxyPassReverse /jenkins http://localhost:8080/jenkins ProxyRequests Off AllowEncodedSlashes NoDecode