2011-07-06 182 views
2

我目前在同一個Apache服務器上託管2個Web應用程序。我們只需調用它們A和B.我使用JSONP從A到B進行跨域ajax調用(我需要從B獲得一些數據)。當我的請求太大而GET不起作用時,這個問題就變得很明顯了。我需要使用POST請求。使用Apache的mod_proxy處理POST請求

我安裝了mod_proxy,並將我的Apache Web服務器配置爲充當反向代理,如下所示:http://bit.ly/rpeWJI。這與GET請求很好地工作,但我仍然無法讓POST請求正常工作。有人能幫我嗎?

作爲一個方面說明,我爲我的Web應用程序使用了Pylons Web框架。

+0

Ack!對不起,這篇文章.....我有一個不好的網址電話。程序員錯誤。 – Mark

+0

那麼,你是否能夠僅使用Apache進行POST?你是怎麼做到的?謝謝。 – split19

+1

嗨spli19,我今天剛剛看到你的帖子。這是去年。我最近不得不再次做這種行爲,並意識到實際上有一種更容易和更好的方式來與POST請求做到這一點。我強烈建議使用請求模塊向其他服務器發送發佈請求。請求模塊可以在這裏找到,它使用起來非常簡單:http://docs.python-requests.org/en/latest/index.html – Mark

回答

1

我可以建議使用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; 
     } 
    } 
} 
+0

啊,謝謝你。我會考慮爲我的下一個Web應用程序。 – Mark

+0

我一直想嘗試nginx一段時間。看起來非常整齊。 – Mark

1

您是否在Apache中啓用了mod_security?

我在調試爲什麼HTTP POST請求對我的反向代理失敗時遇到了您的文章。 (他們正在收到403迴應)。

它使我們的服務器使用mod_security與OWASP設置。監視錯誤日誌,然後將application/json添加到已批准類型的列表中即可解決它。

由於類似的原因,我還必須允許PUT請求。