Jenkins/Apache 反向代理错误

2024-04-18

根据我的搜索,我遇到了一个似乎相当常见的问题,但是我已按照我遇到的所有说明和/或修复进行操作,但没有一个对我有用,所以我问这个希望有人可以引导我走向正确的方向。

我在 OS X 10.11.2 上通过 Homebrew 安装了 Jenkins 1.644。我跟着these https://nickcharlton.net/posts/installing-jenkins-osx-yosemite.html有关如何在 OS X Server 5.0.15 网站内安装和设置的说明(我相信此版本的 OS X 服务器正在运行 Apache 2.4.16。

问题:当我连接到 Jenkins 中的管理控制台时,收到错误消息“您的反向代理设置似乎已损坏”。和一个链接这个詹金斯医生 https://wiki.jenkins-ci.org/display/JENKINS/Running+Jenkins+behind+Apache.

Hitting http://127.0.0.1:8080/管理 http://127.0.0.1:8080/manage不会产生错误。

我已将代理设置添加到我的虚拟主机文件中,如下所示:

ProxyRequests     Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
ProxyPassReverse / http://jenkins.exampledomain.com/

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

当我进行测试卷曲时:

curl -iLk -e https://jenkins.exampledomain.com/manage \
   https://jenkins.exampledomain.com/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test

我得到以下结果:

HTTP/1.1 302 Found
Date: Fri, 22 Jan 2016 06:30:57 GMT
Server: Jetty(winstone-2.9)
X-Content-Type-Options: nosniff
Location: https://jenkins.exampledomain.com/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https%3A%2F%2Fjenkins.exampledomain.com%2Fmanage/
Content-Length: 0
MS-Author-Via: DAV

HTTP/1.1 404 Not Found
Date: Fri, 22 Jan 2016 06:30:57 GMT
Server: Apache/2.4.16 (Unix) OpenSSL/0.9.8zg
Content-Length: 325
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https://jenkins.exampledomain.com/manage/ was not found on this server.</p>
</body></html>

显然该地址在此服务器上,因为我可以通过正确的地址进入管理控制台。

我陷入困境... Apache 配置不是我的强项。我正在寻找任何帮助。

--编辑更多信息--

从 /Library/Server/Web/Config/apache2/sites 目录添加完整的虚拟主机文件以获取更多详细信息。

<VirtualHost 127.0.0.1:34543>
    ServerName https://jenkins.exampledomain.com:443
    ServerAdmin [email protected] /cdn-cgi/l/email-protection
    DocumentRoot "/Library/Server/Web/Data/Sites/jenkins.exampledomain.com"
    DirectoryIndex index.html index.php default.html
    CustomLog /var/log/apache2/access_log combinedvhost
    ErrorLog /var/log/apache2/error_log
    <IfModule mod_ssl.c>
        SSLEngine On
        SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
        SSLProtocol -ALL +TLSv1
        SSLProxyEngine On
        SSLCertificateFile "/etc/certificates/machine.local.certCA1FileLocation.pem"
        SSLCertificateKeyFile "/etc/certificates/machine.local.certCA2FileLocation.key.pem"
        SSLCertificateChainFile "/etc/certificates/machine.local.certCA3FileLocation.chain.pem"
        SSLProxyProtocol -ALL +TLSv1
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
    </IfModule>
    <Directory "/Library/Server/Web/Data/Sites/jenkins.exampledomain.com">
        Options All -Indexes -ExecCGI -Includes +MultiViews
        AllowOverride None
        <IfModule mod_dav.c>
            DAV Off
        </IfModule>
        <IfDefine !WEBSERVICE_ON>
            Require all denied
            ErrorDocument 403 /customerror/websitesoff403.html
        </IfDefine>
    </Directory>

    ProxyRequests     Off
    ProxyPreserveHost On
    AllowEncodedSlashes NoDecode

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://localhost:8080/ nocanon
    ProxyPassReverse / http://localhost:8080/
    ProxyPassReverse / http://jenkins.exampledomain.com/

    RequestHeader set X-Forwarded-Proto "https"
        RequestHeader set X-Forwarded-Port "443"
</VirtualHost>

--编辑 2 另一个发现--

我注意到,通过尝试卷曲到上面的“未找到”网址,服务器确实报告未找到它。如果我打https://jenkins.exampledomain.com/manage/ https://jenkins.exampledomain.com/manage/我会得到 404。但是,如果我省略尾随 /,它就会起作用。https://jenkins.exampledomain.com/manage https://jenkins.exampledomain.com/manage是成功的。希望这对某人有意义!

Thanks


我知道这是一个老问题,但我也遇到了同样的问题:

HTTP ERROR 404

Problem accessing /administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/testForReverseProxySetup/https%3A%2F%2Fbuild.scopeitconsulting.com%2Fmanage/. Reason:

http://build.domain.com/manage vs. https://build.domain.com/manage

我能够通过包含作者问题中的两行来解决我的问题:

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

因此,这是我在工作 ssl.conf 配置中的相关部分,以防它对任何人有帮助。我在根上下文的端口 8080 上使用 http 运行 Jenkins,但在 Apache 后面反向代理,强制执行 https。

ProxyPass               / http://localhost:8080/ nocanon
ProxyPassReverse        / http://localhost:8080/
ProxyPassReverse        / http://build.domain.com/
ProxyPassReverse        / https://build.domain.com/
ProxyRequests           Off
ProxyPreserveHost       On
AllowEncodedSlashes     NoDecode
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
<Proxy http://localhost:8080/>
 Order deny,allow
 Allow from all
</Proxy>

我希望这可以帮助那些像我一样花了太多时间试图找到工作配置来解决错误的人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jenkins/Apache 反向代理错误 的相关文章

随机推荐

  • Apple HLS 中的 PES 数据包内的访问单元如何对齐?

    Apple 是否指定了这一点 PES 数据包有效负载中应放置多少个访问单元 另外 我想知道 PES 数据包中存在哪些前缀起始代码 如果有 我认为访问单元中第一个 NAL 单元之前的单元是无用的 不能放置 正确的 我想知道它是如何在 HLS
  • 使用 PHPUnit 和 Selenium 设置测试

    您能帮我设置测试环境吗 我在 Ubuntu 上运行 安装了 并运行 selenium Web 服务器 并通过 PHPUnit 执行我的测试 最有可能的是我陷入了一些小错误 但我现在不知道如何修复它 我的代码很简单 class WebTest
  • WPF Square 自动调整父容器大小

    我有一个UniformGrid我的 WPF 项目中的对象有 2 行和 3 列 其宽度和高度设置为自动 两种对齐方式都设置为拉伸 该网格将容纳 6squares我想尽可能多地填充他们的单元格 并水平和垂直居中 我需要添加什么才能允许方块根据父
  • 如何在localStorage中存储数组?

    我有一个数据属性 data return playWord baseWord result 并回应 baseWord Amazing 每次我在 api 中发送新请求时 基本词都会发生变化 我想将每个数据存储在本地存储中并将字符串值发送到 a
  • 具有区域格式的 NSDateFormatter

    我使用此代码来处理来自 json feed 的日期字符串 NSDateFormatter formatter NSDateFormatter alloc init formatter setDateStyle NSDateFormatter
  • 如何让 gif 动画在 WPF 中工作?

    我应该使用什么控制类型 Image MediaElement etc 我无法得到这个问题的最流行的答案 上面由达里奥 正常工作 结果是奇怪的 断断续续的动画和奇怪的伪影 到目前为止我找到的最佳解决方案 https github com Xa
  • Hibernate:是否可以在二级缓存中保存瞬态字段?

    我需要跟踪持久实体的字段 该字段会经常更改 并且实际上并不是该实体的功能 而是某种计算 有时 用户希望查看该计算结果 但这种情况非常罕见 每月一次左右 因此 必须以某种方式保存此计算的结果 但我想避免每次更改时都将其保存在数据库中 因为这每
  • “找不到类‘android.support.v4.app.FragmentActivity’”错误

    我收到以下错误 gt 02 06 23 10 24 104 E dalvikvm 912 Could not find class gt android support v4 app FragmentActivity referenced
  • 如何使用SVM求精确率、召回率、准确率?

    重复计算 Precision Recall 和 F Score https stackoverflow com questions 16927964 how to calculate precision recall and f score
  • 在 Yii 的视图中我应该更喜欢使用 widget 还是 renderPartial?

    当我应该在视图文件中使用自定义小部件或 renderPartial 时 我很困惑 有时我使用 widget 有时我使用 renderPartial Widget You use widget当您的应用程序逻辑定义在单独的类文件并且逻辑在某种
  • 将 C 字符串数组传递给 Fortran (iso_c_binding)

    如何传递 C 字符串数组 char cstrings 到 Fortran 子程序 问题使用 iso c binding 的 fortran C 桥接器中的字符串数组 https stackoverflow com questions 968
  • 在 Windows 上使用 PHP 获取总可用系统内存

    使用 PHP 我想获取系统可用的总内存 而不仅仅是空闲或已用内存 在 Linux 上 这非常简单 你可以做 memory fopen proc meminfo 然后解析该文件 有人知道 Windows 的等效方法吗 我愿意接受任何建议 编辑
  • 通过 UIPanGestureRecognizer 传递点击

    我想检测整个屏幕上的滑动 但是 屏幕包含UIButtons 如果用户点击这些按钮之一 我希望触发 Touch Up Inside 事件 我创建了一个UIView在我的屏幕顶部 并添加了一个UIPanGestureRecognizer在其上检
  • Qt 线程阻止 UI 响应

    我想我可能误解了Qt线程中的几个概念 在我的窗口类中 它派生自 QWidget class Widget Q OBJECT public Widget Widget QObject parent 0 QObject parent moveT
  • XNA 数字锁定影响输入

    我有一个中断 在键盘按键上给我协调键 当数字锁打开时 按键会显示为 Numpad1 Numpad2 等 当数字锁关闭时 数字键盘键会变成 End Left Right Up PageLock 我不能让这种情况发生 因为我需要将这些键 左 右
  • 确定 iPhone 上的互联网可用性?

    我在 iPhone 应用程序中使用 NSURLConnection 如下所示 NSURLConnection conn NSURLConnection alloc initWithRequest request delegate self
  • 有没有办法简化 C# 中的反射委托代码?

    In this https stackoverflow com a 12867132 171121回应 我想出了以下辅助方法 可以被不同的人重用Task创建者将事件转换为任务完成源 Helper method static Task
  • PySpark,Win10 - 系统找不到指定的路径

    我之前将 PySpark 作为通过 pip 安装的 Python 包安装 最近我使用干净版本的 Python 卸载了它并下载了独立版本 在我的用户变量中 我创建了一个名为 SPARK HOME 的路径 值为 C spark 2 3 2 bi
  • 尝试在 iPhone 上调试应用程序时收到消息“已添加、修改或删除签名资源”

    在尝试在 iPhone 设备上调试使用 3 2 SDK 创建的版本时 我收到消息 已添加 修改或删除了签名资源 我可以清理 重建 然后安装 不会出现错误 但如果我尝试在不清理的情况下安装 则会显示错误 任何人都知道可能是什么原因造成的 我找
  • Jenkins/Apache 反向代理错误

    根据我的搜索 我遇到了一个似乎相当常见的问题 但是我已按照我遇到的所有说明和 或修复进行操作 但没有一个对我有用 所以我问这个希望有人可以引导我走向正确的方向 我在 OS X 10 11 2 上通过 Homebrew 安装了 Jenkins