【发布时间】:2013-02-05 01:31:14
【问题描述】:
默认情况下,我在端口 5984 上运行 couchdb 1.2,并且我已启用绑定地址 0.0.0.0,以便我可以从外部访问沙发。同时,我将“必需用户”启用为 true(默认情况下启用 couchdb 的基本身份验证)。我可以从外面进入沙发,我主要用它来复制。
我的应用程序前面有 nginx,因此所有到达 http://example.com 的请求都被重定向到 https://example.com,并且这些请求由运行我的 rails 应用程序的乘客服务器提供服务。
由于我已经从世界之外启用了沙发,目前我可以通过http://ip_address:5984 或http://example.com:5984 访问我的沙发数据库(注意它不是https)。
我想为 couchdb 提供的请求启用 https。我认为对我没有用的几个解决方案是 -
1.通过位置ex向couchdb添加代理:所有对https://example.com/couchdb/的请求都可以代理传递给http://127.0.0.1:5984(或)
2.通过监听端口添加代理:在不同的端口上监听“https://example.com:5985”,然后代理将请求传递给http://127.0.0.1:5984。
3. 我无法收听 5984 并将其代理传递给http://...:5984,因为该端口已被 couchdb 使用。
有没有办法可以说 nginx 代理通过 https 将所有请求传递到端口 5984?
即对http://example.com:5984 的任何请求都应该重定向到http**s**://example.com:5984
【问题讨论】: