0

在我的服务器上,我已经安装了Apache HTTPTomcat并且需要部署我的Play应用程序。

我拥有和工作的Apache HTTP服务器的配置是这样的:

最后,/etc/httpd/conf/httpd.conf我的线路代理了所有对 tomcat 的传入请求。这很好。

ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/

现在,因为我还需要部署我的Play应用程序,所以我将以下内容放在上述最后两行之前:

<VirtualHost *:80>
    ProxyPreserveHost On
    ServerName localhost
    ProxyPass  /excluded !
    ProxyPass /my_play_app http://localhost:9000/my_play_app
    ProxyPassReverse /my_play_app http://localhost:9000/my_play_app
</VirtualHost>

问题是当我尝试使用此配置访问播放应用程序时,它没有响应。你能给我一些关于如何解决我的问题的提示吗?

提前致谢。

4

1 回答 1

1

多年来,Apache 因其出色的表现而令人惊叹,但我发现在提供静态资产和反向代理以分离正在运行的 HTTP 服务(例如 Play 应用程序)方面,nginx 轻巧、快速且可靠。

我用于 Play 的 nginx 配置类似于:

server {
    listen       80;

    # Without this, Play serves the assets from within it's bundled jar. That's
    # fine and works but seems unnecessary when nginx can serve the files directly.
    location /assets {
        alias /app/live/my-play-app-here/active/public;
    }

    location / {
        proxy_pass            http://localhost:9000;
        proxy_set_header      X-Real-IP  $remote_addr;
    }
}

这个答案有更多细节。

于 2014-10-12T09:22:49.907 回答