我已在http://dev.mycompany.com:8080/archiva的Tomcat 6.x下的机器上安装了Archiva,可以访问该应用程序和所有内容,但是我想从子域archiva.mycompany.com对其进行访问。

我在端口80上运行Apache 2.x,并使用虚拟主机和mod_proxy从其他子域路由到我在此计算机上运行的其他各种服务。

现在,我想创建一个子域archiva.dev.mycompany.com并将其指向dev.mycompany.com:8080/archiva

我无法弄清楚我需要在ProxyPassProxyPassReverse中放入什么才能使它按我的意愿工作。

我尝试了以下操作,它所做的只是一遍又一遍地将/archiva添加到URL。

<VirtualHost *:80>
    ServerAdmin me@mycompany.com
    ServerName archiva.dev.mycompany.com
    ProxyPreserveHost On

    <Proxy *>
      Order allow,deny
      Allow from all
    </Proxy>
    ProxyPass / http://dev.mycompany.com:8080/archiva
    ProxyPassReverse / http://dev.mycompany.com:8080/archiva
</VirtualHost>


我收到此错误消息

HTTP Status 404 - /archivaarchiva/
type Status report
message /archivaarchiva/
description The requested resource (/archivaarchiva/) is not available.


我再次浏览了在Google上可以找到的所有内容,然后尝试了以下操作:

ProxyPass / ajp://dev.mycompany.com:8080/archiva/
ProxyPassReverse / http://dev.mycompany.com:8080/archiva/


现在,我刚刚从Winstone Servlet Engine收到404错误代码,我知道我已经接近了。

谁能告诉我我需要什么样的魔咒才能表现出来?

最佳答案

我有同样的问题。

必须做什么:


重新配置存档以拥有存档
在/而不是/ archiva /上运行
在配置反向代理
apache2配置。


因此,现在我有“ http:// repo。[domain] /”作为主要存档URL,指向“ http:// [domain]:[port] /”

这是我当前的Apache2配置:

ProxyRequests Off
ProxyPreserveHost On
<VirtualHost [ip]>

        ServerName repo.[domain]
        ProxyPass / http://[ip]:8082/
        ProxyPassReverse / http://[ip]:8082/

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

</VirtualHost>


关于conf / jetty.xml配置:

-删除此:

<!--
  <Call class="org.mortbay.jetty.webapp.WebAppContext" name="addWebApplications">
    <Arg><Ref id="Contexts"/></Arg>
    <Arg>./apps</Arg>
    <Arg>org/mortbay/jetty/webapp/webdefault.xml</Arg>
    <Arg><Ref id="plusConfig"/></Arg>
    <Arg type="boolean">True</Arg>
    <Arg type="boolean">False</Arg>
  </Call>
-->


+添加此内容:

  <New class="org.mortbay.jetty.webapp.WebAppContext">
    <Arg><Ref id="Contexts"/></Arg>
    <Arg>./apps/archiva</Arg>
    <Arg>/</Arg>
    <Set name="configurationClasses"><Ref id="plusConfig"/></Set>
  </New>

关于redirect - 使用Apache 2.x和Tomcat 6.x将子域映射到Servlet上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4404770/

10-09 05:54