Proxy [Nginx]如何对已在端口上运行的服务启用ssl?

Proxy [Nginx]如何对已在端口上运行的服务启用ssl?,proxy,nginx,couchdb,Proxy,Nginx,Couchdb,默认情况下,我在端口5984上运行couchdb 1.2,并且启用了绑定地址0.0.0.0,这样我就可以从外部世界访问沙发了。同时,我已经将“required user”启用为true(默认情况下,它为couchdb启用基本身份验证)。我可以从外面进入沙发,我主要使用它进行复制 我的应用程序前面有nginx,因此所有的请求都会转到http://example.com被重新定义为https://example.com请求由运行rails应用程序的乘客服务器提供 由于我已经从外面启用了沙发,目前我可

默认情况下,我在端口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
(观察员不是https)

我想对couchdb提供服务的请求启用https。我认为对我没有用处的两个解决方案是—— 1.通过location ex:all requests to
向couchdb添加代理https://example.com/couchdb/
可以通过代理传递给
http://127.0.0.1:5984
(或) 2.通过侦听端口添加代理ex:listen在另一个端口上说“”,然后代理将请求传递到
http://127.0.0.1:5984
。 3.我无法收听5984并将其代理传递给
http://...:5984
因为couchdb已经在使用该端口

有没有一种方法可以让nginx代理通过https将所有请求传递到端口5984?
ie对
http://example.com:5984
应该被重定向到
http**s**://example.com:5984

我想我的问题的简单答案是不可能代理来自
http://example.com:5984
到{}。为了解决这个问题,我为coach启用了默认https,因此我只能通过{}访问我的coach。coach的SSL是从couchdb1.1实现的