2

我目前在同一个 Apache 服务器上托管 2 个 Web 应用程序。我们就叫他们 A 和 B。我使用 JSONP 从 A 到 B 进行跨域 ajax 调用(我需要来自 B 的一些数据)。当我的请求太大而 GET 根本不起作用时,这种方法的问题变得很明显;我需要使用 POST 请求。

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

附带说明一下,我正在为我的 Web 应用程序使用 Pylons Web 框架。

4

2 回答 2

1

你在 Apache 中启用了 mod_security 吗?

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

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

出于类似的原因,我也不得不允许PUT请求。

于 2015-03-09T16:40:11.710 回答
-2

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

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;
        }
    }
}
于 2011-07-06T05:57:00.400 回答