http://davez0r.com:8080/jenkins
我想要apache指向一个子域名,而不是:
http://ci.davez0r.com
有这样做的方向:
所以我用我的提供商设置了子域,然后在httpd.conf中添加了一个虚拟主机:
<VirtualHost *:80> ServerName ci.davez0r.com ProxyPass / http://localhost:8080/jenkins ProxyPassReverse / http://localhost:8080/jenkins ProxyRequests Off <Proxy http://localhost:8080/jenkins*> Order deny,allow Allow from all </Proxy> </VirtualHost>
这是在我用来重写我的mediawikiurl我的其他虚拟主机条目下面。
然后我重新启动了一切。
现在的问题是,当我去所需的url,我被redirect到:
http://ci.davez0r.com/jenkins
在这一点上,我提出了一个空白页面。
我不知道谁在做redirect。 是Jenkins,Apache,Tomcat …?
版本:
这适用于我:
<VirtualHost *:80> serverName ci.davez0r.com ProxyPass / http://localhost:8080/jenkins/ ProxyPassReverse / http://localhost:8080/jenkins/ ProxyRequests Off ProxyPreserveHost On <Proxy http://localhost:8080/jenkins/*> Order deny,allow Allow from all </Proxy> RewriteEngine on RewriteRule ^/jenkins/(.+) http://%{HTTP_HOST}/$1 </VirtualHost>
在代理URL之后添加尾部斜线导致无限循环。 然后在ProxyPass URL使其工作后添加尾部斜杠,但是所有静态内容都有错误的URL。
所以我添加了一个重写规则来删除显示出来的extra /jenkins/
目录,谁知道为什么。
Tomcat正在生成重定向 – 就其而言 – 是正确的URL。
有几个选项。 到目前为止,最简单的方法是将Jenkins部署为Tomcat上的ROOT Web应用程序。
棘手的选项是弄清楚重定向是如何传回来的,并在httpd中添加适当的配置来改变它。 要解决所有可能会遇到的问题,您可能需要mod_headers和mod_substitute的组合。