编辑

编辑

Nginx 背后的 Fauxton(CouchDB 管理器)无法完全正常工作。以下 Nginx 阻止来自CouchDB 维基根本不起作用:

location /couchdb {
    rewrite /couchdb/(.*) /$1 break;
    proxy_pass http://localhost:5984;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

当我location /couchdb用 更改部件时location ^~ /couchdb,它至少通过显示 Fauxton 开始工作。

检查(Chromium Inspector)显示问题在于/_sessionurl 是从https://example.com/_session而不是 请求的 https://example.com/couchdb/_session,这意味着 Fauxton 无法正确确定它是在子目录中提供服务(为/_sessionurl 添加代理块可以解决 404 问题)这就是为什么我将请求转储到 CouchDB 主机上以nc -l -p 5984查看标头设置为何:

GET /_utils/ HTTP/1.1
Host: example.com
X-Forwarded-For: 127.0.0.1
X-Real-IP: 127.0.0.1

我不确定X-Forwarded-For标头是否设置正确。这里的预期标头是什么?如何确定问题出在我的 Nginx 设置上,还是其他问题(例如,我的防火墙 ( iptables) 设置)?

编辑

可能的问题出在 Fauxton,而不是 CouchDB:https://github.com/apache/couchdb-fauxton/issues/944

相关内容