1

Apache2 (CKAN) + TOMCAT6 + Mod 代理问题

你好,

我有一个在 Apache2 上运行 CKAN 的服务器,这个服务器还有一个托管一些 HTML 页面的 tomcat6。Apache 在 8080 中运行,Tomcat 在 8081 中运行。Nginx 用于使 Apache 可以通过端口 80 访问。

我在服务的 tomcat 中有一个网络

http://195.57.27.91:8081/arboles 

我想让这个网络可以通过端口 80 访问,所以我使用 Apache2 的 Mod Proxy 来创建一个内部代理,将请求 /arboles 的传入请求重定向到端口 8081。这是通过使用 http.conf 完成的,如下所示:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so


ProxyRequests Off
ProxyPreserveHost On


<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /arboles http://195.57.27.91:8081/arboles/
ProxyPassReverse /arboles http://195.57.27.91:8081/arboles/

知道这个代理正在工作,因为我已经在另一个域的另一个服务器上成功地尝试过它。

问题:当我尝试解析 URI 时:

http://195.57.25.27/arboles

它不加载页面。我得到的只是 504 网关错误超时。

错误

我检查了 Apache2 日志,没有发现错误或配置错误,我不知道还能尝试什么。有任何想法吗?

编辑:我忘了提到 nginx 日志:

2014/01/31 10:39:28 [error] 13921#0: *321 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 158.49.219.193, server: , request: "GET /arboles/ HTTP/1.1", upstream: "http://127.0.0.1:8080/arboles/", host: "opendata.caceres.es"

注意:opendata.caceres.es 是服务器的域名。

4

1 回答 1

0

好的,最后我已经解决了这个问题(罗斯琼斯指出这个想法的道具)。

基本上我所做的是通过使用 nginx 而不是 Apache2 将路径中有 /arboles 的 URIS 重定向到端口 8081。为此,我在 /etc/nginx 中修改了启用站点(我也可以添加另一个站点)以添加以下重定向:

location /arboles {
                proxy_pass http://127.0.0.1:8081/arboles/; 
                proxy_set_header Host $host;
                proxy_cache_key $host$scheme$proxy_host$request_uri;
        }

希望这对将来的某些人来说会很有趣。

注意:如果站点启用和站点可用中没有 conf 文件,则可以在 conf.nginx 文件中进行此更改。耶稣。

于 2014-02-04T08:09:57.303 回答