Apache2 -> Tomcat 虚拟主机

标签 apache tomcat proxy virtualhost

我正在尝试在我的服务器上设置一个问题跟踪器,运行 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 。有什么想法吗?

最佳答案

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

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

关于Apache2 -> Tomcat 虚拟主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8515520/

相关文章:

javascript - 获取状态为 0

spring - 未找到部署期间的 context.xml

java.lang.NoClassDefFoundError 但 .class 文件已经存在

PHP 代理 - 基本说明

php - 通过 Nginx Varnish Apache 为 WHMCS 代理 IP 地址

PHP 我在这段代码中遇到错误

apache - 如何将以 html 结尾的 url 重定向到 https 非 www 版本,同时还从特定 php 文件中检索内容?

apache - 为什么我的 php error_log() 语句会发送到 apache error.log?

java - Tomcat 提示由于 JDBC 驱动程序关闭后打开连接导致内存泄漏

python - 我可以设置特定于虚拟环境的代理变量吗?