【问题标题】:Cloud9 Rails API challenge: allowed network but still cannot render consoleCloud9 Rails API 挑战:允许网络但仍无法渲染控制台
【发布时间】:2015-09-14 15:28:39
【问题描述】:

我正在关注this Treehouse Build a Rails API course。我正在使用我认为与问题有关的 Cloud9 IDE。我坚持的步骤是通过控制台中的 API 创建一个新列表。

起初我从网络收到一条错误消息,说“无法渲染控制台”。谷歌搜索后,我在 development.rb 文件中将网络列入白名单。错误消息是不同的,所以我相信我正确地将它列入白名单(或者至少做了一些事情)。但它并没有达到预期的效果,而且错误信息似乎自相矛盾。

Started POST "/api/lists" for 123.456.78.999 at 2015-09-14 14:53:33 +0000 Cannot render console from 123.456.78.999! Allowed networks: 123.456.78.999, 127.0.0.0/127.123.123.123, ::1

我更改了数字,因为我不了解安全性。关键(对我来说,谜团)是它说我无法从明显允许的网络(即 123.456.78.999 === 123.456.78.999)渲染控制台。

如果您能就可能出现的问题提供任何建议,我将不胜感激。在这一步之前,我可以毫无困难地按照教程进行操作;我输入的命令与视频中的结果相同。

这是我最近输入的命令:

curl -i -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"title":"The Title will go here"}' https://myapp-me.c9.io/api/lists

到目前为止,输入该 URL 而不是“localhost”对我有用,但它也可能与问题有关。

感谢您提供任何线索,如果需要,我们很乐意发布其他代码。

【问题讨论】:

  • 您找到解决方案了吗?
  • 我不记得了,但这是我从 Cloud9 切换到在本地计算机上工作的时候,我不相信我曾经理解过这个问题。下面的答案似乎对某些人有用,但我认为将 0000000 列入白名单可能是一个安全问题,所以我没有这样做。祝你好运!如果您有任何发现,请告诉我们。

标签: ruby-on-rails json curl cloud9-ide


【解决方案1】:

请加config/enviroments/development.rb

config.web_console.whitelisted_ips =   '0.0.0.0/0.0.0.0'

【讨论】:

  • 你能解释一下这会做什么吗?
  • 这对我有用,但解释一下会很好。这只是允许所有ips吗?这有风险吗?
【解决方案2】:

将 2 个 IP 列入白名单 > 考虑以下示例:

config.web_console.whitelisted_ips =  %w( 127.0.0.1 10.0.0.9 )

将整个 IP 子网列入白名单 > 考虑以下示例:

config.web_console.whitelisted_ips =  %w( 127.0.0.1 10.0.0.0/24 )

始终添加127.0.0.1,否则本地机器将无权访问。

【讨论】:

    【解决方案3】:

    部分问题是您需要在“sudo su”shell 中才能运行 Ruby on Rails 应用程序。因此,请确保您运行 sudo su 并成为 root。第二个问题是您必须在端口 8080 上运行应用程序,因此当您运行服务器时,请确保设置了 -p 8080 标志:

    1. bundle update(可选)
    2. bundle install(可选)
    3. sudo su
    4. rails s -p 8080
    5. 新终端 --> 预览 --> 预览正在运行的应用程序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-14
      • 2015-06-07
      • 2014-08-02
      • 2012-08-25
      • 1970-01-01
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多