我正在考慮一個廣泛使用CouchDB的Web應用程序,以儘可能多地使用本地erlang HTTP API獲得巨大收益。Apache作爲CouchDB的反向代理
您可以將Apache配置爲反向代理,以允許將外部GET直接代理到CouchDB,而PUT/POST發送到應用程序內部邏輯(用於衛生,驗證...)?或者這是不明智的 - 對於Web應用程序,CouchDB內置身份驗證選項似乎有點弱。
感謝
我正在考慮一個廣泛使用CouchDB的Web應用程序,以儘可能多地使用本地erlang HTTP API獲得巨大收益。Apache作爲CouchDB的反向代理
您可以將Apache配置爲反向代理,以允許將外部GET直接代理到CouchDB,而PUT/POST發送到應用程序內部邏輯(用於衛生,驗證...)?或者這是不明智的 - 對於Web應用程序,CouchDB內置身份驗證選項似乎有點弱。
感謝
你有看到這個嗎?的OAuth和cookie認證進行了檢查四號:
http://github.com/halorgium/couchdb/commit/335af7d2a9ce986f0fafa4ddac7fc1a9d43a8678
另外,如果你在所有有興趣使用二郎作爲服務器語言,你可以代理的CouchDB通過webmachine:
http://blog.beerriot.com/2009/05/18/couchdb-proxy-webmachine-resource/
您可以使用mod_rewrite
有選擇地基於HTTP方法代理請求。
例如:
# Send all GET and HEAD requests to CouchDB
RewriteCond %{REQUEST_METHOD} GET|HEAD
RewriteRule /db/(.*) http://localhost:5984/mydb/_design/myapp/$1 [P]
# Correct all outgoing Location headers
ProxyPassReverse /db/ http://localhost:5984/mydb/_design/myapp/
任何POST
,PUT
,或者DELETE
請求將被Apache像往常一樣來處理,所以你就可以將你的應用程序層但是你通常會。
我會考慮使用Apache mod_proxy的反向代理功能。創建一個虛擬主機配置,將Web服務器的某些HTTP請求轉發給CouchDB。您可以設置規則,在其URI路徑應該被轉發等
請參見本指南的靈感:http://macgyverdev.blogspot.se/2014/02/apache-web-server-as-reverse-proxy-and.html
這是一個多CouchDB的問題Apache的一個問題。答案是我認爲不是。沒有辦法根據http方法爲請求配置apache代理。克里斯蒂安的答案可能是最好的。 – 2009-08-22 02:33:01