Jenkins told me reverse proxy setup is broken, but the older version is OK.
So I use this command from wiki: curl -iL http://your.reverse.proxy/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test
Here is my apache configure:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName localhost
ProxyRequests off
ProxyPreserveHost On
SetEnv proxy-nokeepalive 1
ProxyPass /jenkins ajp://127.0.0.1:8009/jenkins nocanon
AllowEncodedSlashes NoDecode
</VirtualHost>
And here is what I saw:
HTTP/1.1 500 Server Error
Date: Mon, 14 Jul 2014 11:52:52 GMT
Server: Server: Jetty(7.x.x)
Cache-Control: no-cache,must-revalidate
X-Hudson-Theme: default
X-Frame-Options: sameorigin
Content-Type: text/html;charset=UTF-8
Set-Cookie: JSESSIONID.ed28295c=xdj0afbo9qxg1nc2ha0fnj8r6;Path=/jenkins
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Hudson: 1.395
X-Jenkins: 1.572
X-Jenkins-Session: d1d89bb0
X-Instance-Identity: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsOFirN6go5UvL/Ve6c+7uNF47wPrAis9aAZWSEYGWYHBOGp+AHzVhebh3cP814+KrdDrQp1HoP9l6+GG4IkPukeadtVg6iKIwhajRJHZiK+UzS0kaBJUt49rpDTqx31HkoKdERWOefKxOmMsU4d9ja+ou+n+GhCHE8FLzO7eFH7LMaqiI7n7MY5i+K0nLY3/mIQE1SIZIwsDlUHlI1iEWP9oSAHm6+cOXfIf2dyMkY+PZqJ3pVUATAirLL1dKLAQlNYNJLEJU9WQTi43BysPxVCimZXAl4wryAH+cnstStA1qvtlgmSUfH4ydW5dDMFcjMjMrE/3LtfoBByJSpgX5wIDAQAB
Connection: close
Transfer-Encoding: chunked
<!DOCTYPE html><html><head>
<title>Jenkins [Jenkins]</title><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/css/style.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/css/color.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/css/responsive-grid.css" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="/jenkins/static/d1d89bb0/favicon.ico" /><script>var isRunAsTest=false; var rootURL="/jenkins"; var resURL="/jenkins/static/d1d89bb0";</script><script src="/jenkins/static/d1d89bb0/scripts/prototype.js" type="text/javascript"></script><script src="/jenkins/static/d1d89bb0/scripts/behavior.js" type="text/javascript"></script><script src='/jenkins/adjuncts/d1d89bb0/org/kohsuke/stapler/bind.js' type='text/javascript'></script><script src="/jenkins/static/d1d89bb0/scripts/yui/yahoo/yahoo-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/dom/dom-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/event/event-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/animation/animation-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/dragdrop/dragdrop-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/container/container-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/connection/connection-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/datasource/datasource-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/autocomplete/autocomplete-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/menu/menu-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/element/element-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/button/button-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/storage/storage-min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/hudson-behavior.js" type="text/javascript"></script><script src="/jenkins/static/d1d89bb0/scripts/sortable.js" type="text/javascript"></script><script>crumb.init("", "");</script><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/scripts/yui/container/assets/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/scripts/yui/assets/skins/sam/skin.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/scripts/yui/container/assets/skins/sam/container.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/scripts/yui/button/assets/skins/sam/button.css" /><link rel="stylesheet" type="text/css" href="/jenkins/static/d1d89bb0/scripts/yui/menu/assets/skins/sam/menu.css" /><meta name="ROBOTS" content="INDEX,NOFOLLOW" /><script src="/jenkins/adjuncts/d1d89bb0/org/kohsuke/stapler/jquery/jquery.full.js" type="text/javascript"></script><script>var Q=jQuery.noConflict()</script><link rel="stylesheet" type="text/css" href="/jenkins/plugin/jquery-ui/css/jquery-ui-1.8.9.custom.css" /><script src="/jenkins/plugin/jquery-ui/js/jquery-ui-1.8.9.custom.min.js"></script><script src="/jenkins/static/d1d89bb0/scripts/yui/cookie/cookie-min.js"></script></head><body id="jenkins" data-version="jenkins-1.572" class="yui-skin-sam jenkins-1.572"><a href="#skip2content" class="skiplink">Skip to content</a><div id="header"><div class="logo"><a id="jenkins-home-link" href="/jenkins/"><img id="jenkins-head-icon" alt="title" src="/jenkins/static/d1d89bb0/images/jenkins-redbg.png" /><img id="jenkins-name-icon" height="34" alt="title" width="139" src="/jenkins/static/d1d89bb0/images/title.png" /></a></div><div class="login"> <a style="color:inherit" href="/jenkins/login?from=%2Fjenkins%2FadministrativeMonitor%2Fhudson.diagnosis.ReverseProxySetupMonitor%2Ftest"><b>登录</b></a>
<a href="/jenkins/signup"><b>注册</b></a></div><div class="searchbox hidden-xs"><form style="position:relative;" name="search" action="/jenkins/search/" class="no-json" method="get"><div id="search-box-minWidth"></div><div id="search-box-sizer"></div><div id="searchform"><input id="search-box" placeholder="查找" name="q" class="has-default-text" /> <a href="http://wiki.jenkins-ci.org/display/JENKINS/Search+Box"><img height="16" alt="help for search" width="16" src="/jenkins/static/d1d89bb0/images/16x16/help.png" /></a><div id="search-box-completion"></div><script>createSearchBox("/jenkins/search/");</script></div></form></div></div><div id="breadcrumbBar"><tr id="top-nav"><td id="left-top-nav" colspan="2"><link rel='stylesheet' href='/jenkins/adjuncts/d1d89bb0/lib/layout/breadcrumbs.css' type='text/css' /><script src='/jenkins/adjuncts/d1d89bb0/lib/layout/breadcrumbs.js' type='text/javascript'></script><div class="top-sticker noedge"><div class="top-sticker-inner"><div id="right-top-nav"></div><ul id="breadcrumbs"><li class="item"><a class="model-link inside" href="/jenkins/">Jenkins</a></li><li class="children" href="/jenkins/"></li></ul><div id="breadcrumb-menu-target"></div></div></div></td></tr></div><div id="page-body" class="container-fluid"><div class="row"><div id="side-panel" class="col-md-3"><div id="side-panel-content"><div class="task">
<a class="task-icon-link" href="http://jenkins-ci.org/"><img height="24" style="margin: 2px;" alt="" width="24" class="task-icon" src="/jenkins/static/d1d89bb0/images/24x24/next.png" /></a> <a class="task-link" href="http://jenkins-ci.org/">Jenkins project</a></div><div class="task">
<a class="task-icon-link" href="http://issues.jenkins-ci.org/"><img height="24" style="margin: 2px;" alt="" width="24" class="task-icon" src="/jenkins/static/d1d89bb0/images/24x24/gear2.png" /></a> <a class="task-link" href="http://issues.jenkins-ci.org/">Bug tracker</a></div><div class="task">
<a class="task-icon-link" href="http://jenkins-ci.org/content/mailing-lists"><img height="24" style="margin: 2px;" alt="" width="24" class="task-icon" src="/jenkins/static/d1d89bb0/images/24x24/search.png" /></a> <a class="task-link" href="http://jenkins-ci.org/content/mailing-lists">Mailing Lists</a></div><div class="task">
<a class="task-icon-link" href="https://twitter.com/jenkinsci"><img height="24" style="margin: 2px;" alt="" width="24" class="task-icon" src="/jenkins/static/d1d89bb0/images/24x24/user.png" /></a> <a class="task-link" href="https://twitter.com/jenkinsci">Twitter: @jenkinsci</a></div></div></div><div id="main-panel" class="col-md-9"><div id="main-panel-content"><a name="skip2content"></a><h1 style="text-align: center"><img height="179" width="154" src="/jenkins/static/d1d89bb0/images/rage.png" /><span style="font-size:50px"> Oops!</span></h1><div id="error-description"><p>A problem occurred while processing the request.
Please check <a href="https://issues.jenkins-ci.org/">our bug tracker</a> to see if a similar problem has already been reported.
If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem.
If you think this is a new issue, please file a new issue.
When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.
<a href="http://jenkins-ci.org/content/mailing-lists">The users list</a> might be also useful in understanding what has happened.</p><h2>Stack trace</h2><pre style="margin:2em; clear:both">javax.servlet.ServletException: java.lang.NullPointerException
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:74)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at org.eclipse.jetty.ajp.Ajp13Connection.access$2900(Ajp13Connection.java:45)
at org.eclipse.jetty.ajp.Ajp13Connection$RequestHandler.headerComplete(Ajp13Connection.java:237)
at org.eclipse.jetty.ajp.Ajp13Parser.parseNext(Ajp13Parser.java:492)
at org.eclipse.jetty.ajp.Ajp13Parser.parseAvailable(Ajp13Parser.java:158)
at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
at hudson.Util.rawEncode(Util.java:848)
at hudson.diagnosis.ReverseProxySetupMonitor.doTest(ReverseProxySetupMonitor.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
... 63 more
</pre></div></div></div></div></div><div id="footer-container" class="hidden-xs"><div id="footer"><span class="page_generated">
生成 页面:
2014-7-14 19:52:52</span><span class="rest_api"><a href="api/">REST API</a></span><span class="jenkins_ver"><a href="http://jenkins-ci.org/">Jenkins ver. 1.572</a></span></div></div></body></html>%
The request's referer does not seem to be set. Are you using some kind of "privacy protection" software? Anti-Malware with web-related features? What web browser and OS (in which versions?)