使用Apache的mod_proxy处理POST请求

时间:2011-07-06 05:11:07

标签: apache reverse-proxy mod-proxy

我目前在同一个Apache服务器上托管2个Web应用程序。让我们打电话,他们是A和B.我正在使用JSONP进行从A到B的跨域ajax调用(我需要B中的一些数据)。当我的请求变得太大而GET根本不起作用时,这个方法就会出现问题。我需要使用POST请求。

我安装了mod_proxy并将我的Apache Web服务器配置为反向代理,如下所示:http://bit.ly/rpeWJI。这与GET请求完美配合,但我仍然无法让POST请求正常工作。有人能帮我吗?

作为旁注,我正在使用Pylons Web框架来处理我的Web应用程序。

2 个答案:

答案 0 :(得分:1)

您是否在Apache中启用了mod_security?

我在调试为什么HTTP POST请求对我的反向代理失败时遇到了你的帖子。 (他们收到403回复)。

它使我们的服务器使用带有OWASP设置的mod_security。监控错误日志,然后将application/json添加到已批准类型列表中解决了它。

出于类似原因,我还必须允许PUT次请求。

答案 1 :(得分:0)

我建议使用nginx而不是Apache。 Here是一个示例配置:

http {
    proxy_cache_path  /data/nginx/cache  levels=1:2    keys_zone=STATIC:10m
                                        inactive=24h  max_size=1g;
    server {
        location / {
            proxy_pass             http://1.2.3.4;
            proxy_set_header       Host $host;
            proxy_cache            STATIC;
            proxy_cache_valid      200  1d;
            proxy_cache_use_stale  error timeout invalid_header updating
                                  http_500 http_502 http_503 http_504;
        }
    }
}