【问题标题】:apache reverse proxy in dockerdocker中的apache反向代理
【发布时间】:2017-12-16 22:20:55
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: apache docker jenkins proxy reverse-proxy


    【解决方案1】:

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

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

    【讨论】:

    • 自从我看过这个以来已经有一段时间了 :) 但我认为您的解决方案不会解决我的问题,因为它将所有内容都反转给了詹金斯。如果我没记错的话,我想要反向代理,以便我可以托管多个应用程序......但你是对的,否则它应该可以工作
    猜你喜欢
    • 1970-01-01
    • 2020-09-03
    • 2014-12-15
    • 2018-09-23
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多