在docker中的apache反向代理

时间:2017-12-16 22:20:56

标签: apache docker jenkins proxy reverse-proxy

我目前正在尝试学习使用docker,我遇到了一个反向代理和apache的小问题。

所以我有一个运行jenkins / jenkins的容器:最新的端口8080,我想用apache将它映射到端口80上的/ jenkins。这是我当前的代理配置:

ProxyPass         /jenkins  http://jenkins:8080/jenkins nocanon
ProxyPassReverse  /jenkins  http://jenkins:8080/jenkins
ProxyRequests     Off
AllowEncodedSlashes NoDecode

有了这个,它将第一个请求重定向到jenkins容器,但jenkins重定向到/ login,导致404。 我明白为什么会发生这种情况,但有没有办法解决这个问题而不通过在其上设置前缀来修改jenkins图像?

我不想添加前缀的主要原因是因为它似乎很多工作,特别是如果我需要为我想在docker中运行的所有服务执行此操作...它看起来似乎非常不切实际。

1 个答案:

答案 0 :(得分:0)

Docker hub page for Jenkins没有提到/ jenkins后缀。您是否尝试了以下设置?

ProxyPass         /  http://jenkins:8080/ nocanon
ProxyPassReverse  /  http://jenkins:8080/
ProxyRequests     Off
AllowEncodedSlashes NoDecode