我如何访问使用Bitnami创建的远程CouchDB

问题描述 投票:0回答:1

我已经在AWS上设置了Bitnami CouchDB堆栈。 AWS EC2控制台中的一切似乎都很好。我遵循了所有有关如何为该实现配置PuTTY的说明,以便可以通过SSH访问CouchDB。 PuTTY似乎也运行良好。我能够通过SSH进入远程服务器并在其中执行命令,因此我认为SSH隧道正在运行。我遵循以下指示:https://docs.bitnami.com/aws/faq/get-started/access-ssh-tunnel/https://docs.bitnami.com/google/infrastructure/couchdb/administration/connect-remotely/

为了访问CouchDB,看来我必须将目标端口(在PuTTY中)更改为5984,已完成:https://community.bitnami.com/t/cannot-access-couchdb-from-my-pc-https/53770/2

然后,我启动PuTTY,并打开连接。再次,它似乎可以工作,但是当我尝试浏览到ServerIP:5984时,它永远不会连接。我能想到的最好的一点是,我需要以某种方式将Chrome设置为使用隧道,但我不知道这是否正确。

任何想法,建议或重定向将非常有帮助。

谢谢。

我对此深信不疑,并准备尝试(颤抖)手动安装CouchDB,好像我现在正在手动执行所有操作,但仍无法正常工作。

编辑:这就是我想出的结果:使用PuTTY和上面参考的说明,我可以创建SSH隧道。然后,使用Chrome浏览器,转到我的本地主机:8888(请参阅下面的评论-这是通过SSH连接到远程(即服务器)端口5984的本地(即Windows计算机)端口),并且返回“未经授权” '。如果我在PuTTY终端窗口内使用curl并包含我的数据库凭据(即curl -X GET http://admin:{password} @localhost:5984),则可以访问CouchDB。问题就变成了:如何从Chrome访问CouchDB并插入凭据(我甚至尝试过Postman),以便可以出于测试和开发目的访问Fauxton。

amazon-ec2 ssh couchdb bitnami ssh-tunnel
1个回答
0
投票

所以,我想我已经知道了。

Bitnami文档可帮助您正确配置PuTTY,以在本地计算机和远程服务器之间启用SSH隧道(请参阅:https://docs.bitnami.com/aws/faq/get-started/access-ssh-tunnel/)。我对该隧道的了解是,它在本地计算机上的特定端口与远程服务器上的特定端口之间创建了安全管道。该隧道由您生成的SSH密钥保护。当我将Bitnami CouchDB安装到AWS时,Bitnami控制台使整个过程变得非常简单,包括SSH密钥生成过程。 Bitnami安装程序还在服务器上创建了我的CouchDB,并使用新的管理员密码对其进行了保护(稍后对此进行详细介绍)。

然后,我遵循了更多的指导,这些指导显示了如何从远程计算机连接到CouchDB(请参阅https://docs.bitnami.com/google/infrastructure/couchdb/administration/connect-remotely/)。在这里事情有些偏离轨道,或者至少他们为我做了。 Bitnami(明智地)不建议打开服务器端口以连接外部世界,而建议使用SSH隧道方法。说得通。但是,有关远程连接的说明假定您将打开防火墙中的端口。一旦您确定自己不想这样做并且没有打开端口,而是通过SSH安全连接,就已经取得了进步,但还只是到了一半。

用于登录服务器的SSH进程可以正常运行。我打开PuTTY,加载保存的会话并打开SSH,然后我就可以进入了。我可以通过PuTTY终端完美地访问服务器及其文件。因此,我然后尝试通过Chrome访问CouchDB。在地址栏中输入:http://localhost:8888。这是指我的本地主机和端口(即不是服务器的端口),而不是服务器的端口。服务器的端口通过PuTTY中的SSH隧道配置映射到5984(请参阅:https://community.bitnami.com/t/cannot-access-couchdb-from-my-pc-https/53770)。这可行,但是我得到消息,需要授权。这是因为设置过程创建了管理员用户和密码,以及配置问题,这是最后的难题(至少对我而言)。

如果您在服务器上为CouchDB编辑local.ini文件,并将[chttpd]值“ require_valid_user = true”更改为“ require_valid_user = false”,则所有内容都将在浏览器中正常运行(一旦创建了SSH隧道当然),您可以访问Fauxton。我通过反复试验发现了这一点,但本文对此进行了确认:https://blog.couchdb.org/2018/02/03/couchdb-authentication-without-server-side-code/

我仍然非常感谢对此答案的任何评论。特别是,关于我可能通过更改而创建的任何可能的安全漏洞的任何注释均要求有效用户为false。我知道这允许未经身份验证的用户访问数据库,但是在数据库具有管理员密码保护,服务器由SSH保护且没有打开防火墙端口的情况下,有人甚至可以这样做?

© www.soinside.com 2019 - 2024. All rights reserved.