Nginx

如何使用 Nginx 作為反向代理在非根位置使用 Fauxton 託管 CouchDB

  • May 12, 2021

CouchDB 與 Fauxton 版本捆綁在一起,該版本有一個嚴重錯誤,如果 CouchDB 託管在非根位置,則該錯誤會阻止 Fauxton 工作。因此,如果您想將 CouchDB 託管在/couchdb,那麼捆綁的 Fauxton/couchdb/_utils將嘗試在根位置/而不是location 訪問 CouchDB /couchdb,從而導致 Fauxton 功能中斷。

GitHub上的以下問題更詳細地解釋了該問題:

  1. https://github.com/apache/couchdb-fauxton/issues/1199
  2. https://github.com/apache/couchdb-fauxton/issues/944
  3. https://github.com/apache/couchdb-fauxton/issues/1188

是否可以使用 Nginx 作為反向代理在非根位置使用 Fauxton 託管 CouchDB,如何實現?

我一直在 Nginx 後面的子文件夾位置使用 Fauxton,配置如下:

   location ^~ /mycouch/ {
       proxy_pass http://192.168.2.5:5984/;
       proxy_redirect off;
       proxy_buffering off;
       proxy_set_header Host $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   }

需要注意的幾點:

  1. proxy_pass http://...5984/;。注意/最後的。
  2. 你應該輸入http://example.com/mycouch/_utils/. 注意/最後的。
  3. Fauxton 本身存在問題(Unexpected token < in JSON at position 0錯誤),請按照此配方建構和安裝最新版本的 Fauxton。

引用自:https://serverfault.com/questions/994736