默认情况下我在端口5984上运行了couchdb 1.2,并且我已启用绑定地址0.0.0.0,以便我可以从外部世界访问沙发。同时我将“required user”设置为true(默认设置为couchdb启用基本身份验证)。我可以从外面访问沙发,我主要使用它进行复制。
我的应用程序前面有nginx,因此http://example.com
的所有请求都被重新计入https://example.com
,请求由运行我的rails应用程序的乘客服务器提供。
当我从世界各地启用沙发时,目前我可以通过http://ip_address:5984
或http://example.com:5984
访问我的couchdb(观察者不是https)。
我想对couchdb提供的请求启用https。我认为并且对我没用的几个解决方案是 -
1.通过位置ex向couchdb添加代理:对https://example.com/couchdb/
的所有请求都可以代理传递给http://127.0.0.1:5984
(或)
2.通过listen port ex添加代理:在另一个端口上侦听“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
答案 0 :(得分:0)
我想我的问题的简单答案是无法将http://example.com:5984
的传递请求代理到{https://example.com:5984}。为了解决这个问题,我已经为沙发启用了默认https,因此我只能通过{https://example.com:5984}访问我的沙发。沙发的SSL是从couchdb1.1实现的