小编yee*_*lan的帖子

如何使用多个ip地址设置mongod.conf bind_ip

我是设置服务器环境和mongoDB的新手.这可能听起来很简单,但是,我真的需要你的帮助.

我正在尝试连接到我的虚拟机,该虚拟机从本地机器运行mongodb实例,我相信当我在一个单独的远程服务器上运行时,它应该类似于生产环境.

环境如下:

  • 虚拟机的专用IP:192.168.184.155

  • 本地计算机和虚拟机的公共IP:96.88.169.145


我改变了bind_ip/etc/mongod.conf文件

bind_ip = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

bind_ip = 127.0.0.1,192.168.184.155,96.88.169.145
Run Code Online (Sandbox Code Playgroud)

重新启动mongod服务后,虚拟机和本地计算机都无法通过mongodb命令访问mongodb并给我以下错误.

MongoDB shell version: 3.0.1
connecting to: test
2015-03-17T16:02:22.705-0400 W NETWORK  Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
2015-03-17T16:02:22.707-0400 E QUERY    Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed
    at connect (src/mongo/shell/mongo.js:179:14)
    at (connect):1:6 at src/mongo/shell/mongo.js:179
exception: connect failed
Run Code Online (Sandbox Code Playgroud)

但是,如果我改变了

bind_ip = 192.168.184.155
Run Code Online (Sandbox Code Playgroud)

并重新启动服务,它工作,我可以使用本地计算机上的mongo访问.它似乎不适用于多个IP地址.我试着在mongodb文档中查找,但是,他们确实提到bind_ip采用逗号分隔的列表,这让我很困惑.

感谢您的帮助.

remote-access virtual-machine mongodb

41
推荐指数
7
解决办法
6万
查看次数

无法连接到Rails的Localhost:3000,但是127.0.0.1:3000可以工作

我正在通过railstutorial.org学习Ruby on Rails,并遇到了这个奇怪的问题。

我运行了“ rails服务器”,并显示以下信息:

=> Booting WEBrick
=> Rails 4.0.4 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-04-02 01:28:18] INFO  WEBrick 1.3.1
[2014-04-02 01:28:18] INFO  ruby 2.0.0 (2014-02-24) [x86_64-darwin12.5.0]
[2014-04-02 01:28:18] INFO  WEBrick::HTTPServer#start: pid=13004 port=3000
Run Code Online (Sandbox Code Playgroud)

我尝试在各种浏览器上连接到localhost:3000,但它们都无法建立与服务器的连接。

我还尝试了Rails服务器-p 3001并连接到本地主机:3001,该主机也失败了。

但是,我尝试了0.0.0.0:3000,127.0.0.1:3000,它们都正常工作并呈现了默认的rails欢迎。

然后,我尝试了localhost:80,该主机成功告诉我“ It Works”,并且我实际上可以使用PHP + Apache连接到另一个本地项目。

所以我真的很想知道为什么会发生这种情况,有人能给我任何提示吗?

先感谢您:)

port ruby-on-rails localhost

4
推荐指数
1
解决办法
6579
查看次数

从 Web 应用程序访问 Google Cloud Storage,始终为 403

我正在开发一个 Web 应用程序,作为与 Google Cloud Storage (GCS) 的接口。

我正在使用后端服务通过 JSON API 检索我存储在 GCS 上的文件列表及其 URL,并将其返回到我的 Web 应用程序。但是,我真的无法通过这些 URL 加载文件,这些 URL 总是以 403 forbidden 返回。

我不确定 GCS 身份验证在幕后如何工作,以及是否可以直接授予对 Web 应用程序的访问权限。我不确定如何通过 http 请求附加应用程序身份验证信息。我所知道的是我可以通过后端服务来做到这一点,但为了简单起见,我想知道是否有可能解决这个问题。我尝试的一件事是将 Web 应用程序域(将通过 http 请求中的引荐来源发送)添加到该存储桶的 ACL 中,这根本不起作用。

并感谢@Brandon 在下面指出的内容。我可以授予任何有权访问该应用程序的人查看 GCS 的内容,因为它是一个内部应用程序,并且我在第一次为 Web 应用程序提供服务时已经检查了他们的身份验证。

====

解决方案

我最终使用了 5 分钟后过期的 signedUrl,我强烈建议使用gcloud与 gcs 交互(他们的python 文档非常好)。再次感谢您的详尽解答!

google-app-engine web-applications google-cloud-storage

1
推荐指数
1
解决办法
1085
查看次数