0

我有一个现有的 php/apache httpd 服务器托管一个简单的静态网站。现在我们想使用 Play! 添加一个完整的 web 应用程序!Java 框架无需移除现有的静态网站和服务器。

我可以使用 apache 根据 url 重定向流量吗,例如将所有流量路由product.example.comwww.example.com/productPlay!服务器?

如果是这样,我该怎么做?

4

1 回答 1

1

我也这样做了,使用 Apache 很容易。像通常为您的静态站点设置 VirtualHosts 一样,但对于您的 Play 主机,使用 Apache 重定向到一个端口,mod_proxy如下所示:

确保运行a2enmod proxy proxy_http,然后像这样设置代理主机:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ProxyPreserveHost On
    ServerName product.example.com
    ServerAlias www.product.example.com
    ProxyPass / http://127.0.0.1:9000/  #incoming requests pass to Play app
    ProxyPassReverse / http://127.0.0.1:9000/ #outgoing responses go back to user
</VirtualHost>

这会将请求重定向到您在本地主机(或您想要的任何其他主机)的指定端口上指定给 Play 应用程序的域或子域。您可以为使用不同平台或语言创建的其他应用程序添加额外的 VirtualHost 指令。这也是负载平衡 Play 应用程序的好方法。

如果您不想使用子域,您可以mod_rewrite在静态站点上使用将请求重定向example.com/product到 Play 框架代理。

以下是有关该主题的更多文档:http ://www.playframework.com/documentation/2.2.0/HTTPServer

于 2013-10-16T18:25:56.193 回答