使用具有子目录的代理时出错资产路径

时间:2013-10-04 08:48:19

标签: playframework-2.0

我在Play!前面使用Apache Proxy。 为了重用我的SSL证书, apache配置是这样的:

    <Location /balancer-manager>
            SetHandler balancer-manager
            Order Deny,Allow
            Deny from all
    </Location>
    <Proxy balancer://mycluster>
    BalancerMember http://localhost:9997
    BalancerMember http://localhost:9998 status=+H
    </Proxy>
    <Proxy *>
            Order Allow,Deny
            Allow From All
    </Proxy>
    ProxyPreserveHost On
    ProxyPass /balancer-manager !
    ProxyPass /play/ balancer://mycluster/
    ProxyPassReverse /play http://localhost:9997/    
    ProxyPassReverse /play http://localhost:9998/  

一开始似乎没问题,但我发现资产路径并不像预期的那样。 正确的道路应该是这样http://domain/play/jquery.js ,但玩!像这样返回http://domain/jquery.js, 因此,当用户获取资源时,Apache无法解析url, 有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

Play对你的Apache配置一无所知 - 它仍然认为它仍然在域的根文件夹中运行。您可以使用的最干净的方法是(恕我直言)使用子域http://play.domain.tld而不是嵌套文件夹http://domain.tld/play,否则您需要反映路线中网址的play段。