服务器在本地主机上不可用,响应代码为 403 和 Ruby on Rails 中的运行时错误



在open_uri中更改代理设置后。Rb和server_manage。我终于成功地在代理服务器后面安装了neo4j。neo4j服务器在端口7000上运行(它在浏览器中打开),但是当我输入:

$rails generate scaffold post title body
误差

:

/.rvm/gems/ruby-2.2.3/gems/neo4j-core-5.1.6/lib/neo4j-server/cypher_session.rb:51:in `open': Server not available on  http://localhost:7000 (response code 403) (RuntimeError)

我该怎么办?任何帮助都是感激的!!

 $ ruby --version
 ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
 $ rails --version
 Rails 4.2.2

我猜是代理问题。在你的浏览器和代码中,事情的表现可能会有所不同(因为它们是两个不同的环境)。

要检查数据库到底发生了什么,您应该尝试从命令行手动向Neo4j发出请求。

使用curl的示例:

# if auth enabled
curl -i --user username:password http://localhost:7000/db/data/
# if auth disabled
curl -i http://localhost:7000/db/data/

这将给你更多的细节,究竟是什么不工作。

你也可以组装基本的ruby脚本,将HTTP请求,检查你收到的响应在这种情况下。

403可能意味着您的Neo4j身份验证凭据错误。请参阅http://neo4jrb.readthedocs.org/en/5.1.x/Setup.html#rails-configuration了解详细信息,但基本上,向application.rb添加这样的内容可能会奏效:

config.neo4j.session_options = { basic_auth: { username: 'foo', password: 'bar'} }

另外,既然你提到需要代理的帮助,你可以添加一个initialize键来设置。

init = { proxy: { uri: 'http://myproxy', user: 'username', password: 'password' }}
auth = { username: 'neo4j', password: 'pwhere'}
config.neo4j.session_options = { basic_auth: auth, initialize: init }

相关内容

  • 没有找到相关文章

最新更新