【问题标题】:Apache2 -> Tomcat Virtual HostApache2 -> Tomcat 虚拟主机
【发布时间】:2023-03-04 01:54:02
【问题描述】:

我正在尝试在我的服务器上设置问题跟踪器,运行 apache2。但是,问题跟踪器(youtrack)在 tomcat 中运行,所以我正在尝试设置一个将重定向到 tomcat 服务器的虚拟主机。这就是我所拥有的:

#Tomcat                                                                                                                                                                                                                                                                                        
<VirtualHost *:80>
    ServerName issues.example.ca
    ServerAlias issues.example.*

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

    ProxyPass / http://www.example.com:8080/youtrack/
    ProxyPassReverse / http://www.example.com:8080/youtrack/
    ProxyPreserveHost On
    ProxyStatus On
    <Location />
        Order allow,deny
        Allow from all
    </Location>

    ErrorLog logs/issues.example.ca-error_log
    CustomLog logs/issues.example.ca-access_log common

</VirtualHost>

现在,我可以看到 youtrack 登录页面,但没有应用他们的 CSS,我无法登录。我在源代码中四处寻找,结果它在 /youtrack 中查找其所有资源,这显然不存在,因为这意味着它将在http://example.com:8080/youtrack/youtrack 中查找。我将如何摆脱第二条 youtrack 路径?我已经尝试过重写,但我似乎无法完全正确。任何帮助,将不胜感激。谢谢!

编辑:我想像这样重写:

RewriteRule ^.*/youtrack/(.*)$ /$1 [P,L]

该站点可以正常工作,但现在的问题是 URL 显示为 issues.example.com/youtrack/stuff,而我希望它是 issues.example.com/stuff。有什么想法吗?

【问题讨论】:

    标签: apache tomcat proxy virtualhost


    【解决方案1】:

    您需要将运行 YouTrack 的服务器上的 URI 从 /youtrack 更改为 /。 这是实现您需要的唯一方法。

    然后,替换 “代理通行证/http://www.example.com:8080/youtrack/” 和 “代理通行证/http://www.example.com:8080/” 等等……

    【讨论】:

      【解决方案2】:

      过去,我们使用 modjk 来桥接 Apache 和 Tomcat。

      我多年来没有研究过这个配置,所以也许有一些更新的方法。

      【讨论】:

        猜你喜欢
        • 2014-09-08
        • 1970-01-01
        • 2019-01-01
        • 2014-10-29
        • 2015-03-24
        • 2013-06-24
        • 2014-10-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多