2012-04-24 32 views
2

我正尝试在Apache中为不同服务器上的RESTful服务设置简单代理。例如,如果我转到https://myclient.com/services/hello,它会显示URL为https://myserver.com/services/hello的JSON。如何在Apache中为REST设置代理

我正在这样做,以获得跨域阿贾克斯工作。我发现了很多关于如何设置的信息,但没有发现我找到的任何建议。我认为这应该相当简单,所以对某个人来说这可能是一个简单的答案。

我目前的设置将我转到RESTful URL而不是仅显示内容。我正在使用基本的Apache设置,没有虚拟主机,并在我的httpd.conf中配置了所有的东西。我使用SSL,也正在使用代理到Tomcat在同一Apache服务器上:

SSLProxyEngine On 

RewriteEngine On 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [L,R] 

ProxyPass /services/ https://myserver.com/services/ 
ProxyPassReverse /services/ https://myserver.com/services/ 
ProxyPass/http://localhost:8080/ 
ProxyPassReverse/http://localhost:8080/ 

我已经尝试了很多其他设置的组合,以及包括加法重写规则,但这个简单的配置我得到的最近。

回答

2

问题是由于我设置了SSO服务器 - 请求正在通过此服务器重定向,导致从SSO服务器重定向到API服务器。 Apache的设置是正确的。