我已经在Heroku上安装了Proximo插件,当我将命令添加到现有命令时,我从Java获得了BindException.这是我的prepended命令的外观:web: bin/proximo sh target/bin/webapp
并且一旦我删除Proximo part(bin/proximo
),应用程序就会启动而没有错误.
这是完整的堆栈跟踪.我错过了什么?
Exception in thread "main" java.net.BindException: Cannot assign requested address
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:344)
at sun.nio.ch.Net.bind(Net.java:336)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:199)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:162)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:297)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:240)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
at org.eclipse.jetty.server.Server.doStart(Server.java:270)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
Run Code Online (Sandbox Code Playgroud) 我有一个简单的节点代理,我已经添加了proximo来为API使用白名单.它以前工作过,但是按照教程我现在在我的日志中得到这个:
2014-08-19T16:23:21.376311+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=GET path="/?url=http://www.google.com" host=warm-cliffs-7633.herokuapp.com request_id=ecf77eea-a027-4115-86ff-5acf527c7333 fwd="82.24.137.140" dyno=web.1 connect=1ms service=30001ms status=503 bytes=623
Run Code Online (Sandbox Code Playgroud)
如果我尝试访问该页面,我收到一条错误消息,但如果没有从代理请求URL,页面工作正常.
文档不多,我不确定这在我的Procfile中是否正确:
web: bin/proximo node proxy.js
Run Code Online (Sandbox Code Playgroud) 我需要从 Heroku 访问具有 IP 白名单的服务,因此需要 HTTP 代理。
我配置了 Proximo 插件,并且有一个看起来大约像这样的代理 URLhttp://proxy:secret-key@proxy-0-0-0-0.proximo.io
在 Savon 中,我尝试像这样配置代理:
client = Savon.client(wsdl: my_wsdl, proxy: "http://proxy:secret-key@proxy-0-0-0-0.proximo.io")
Run Code Online (Sandbox Code Playgroud)
但是当我提出请求时:
client.operations
我收到代理错误:
Wasabi::Resolver::HTTPError: Error: 407 for url http://mywsdl
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi3.5.0/lib/wasabi/resolver.rb:45:in `load_from_remote'
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi3.5.0/lib/wasabi/resolver.rb:33:in `resolve'
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi3.5.0/lib/wasabi/document.rb:142:in `xml'
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi-3.5.0/lib/wasabi/document.rb:160:in `parse'
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi-3.5.0/lib/wasabi/document.rb:147:in `parser'
from /Users/ahamon/.gem/ruby/2.3.0/gems/wasabi-3.5.0/lib/wasabi/document.rb:64:in `soap_actions'
from /Users/ahamon/.gem/ruby/2.3.0/gems/savon-2.11.1/lib/savon/client.rb:28:in `operations'
from (irb):7
from /Users/ahamon/.gem/ruby/2.3.0/gems/railties-4.2.4/lib/rails/commands/console.rb:110:in `start'
from /Users/ahamon/.gem/ruby/2.3.0/gems/railties-4.2.4/lib/rails/commands/console.rb:9:in `start'
from /Users/ahamon/.gem/ruby/2.3.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:68:in `console'
from /Users/ahamon/.gem/ruby/2.3.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /Users/ahamon/.gem/ruby/2.3.0/gems/railties-4.2.4/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)
不过,如果没有代理选项,一切都可以正常工作。
我在 Heroku 上运行 Ruby on Rails 应用程序,我的数据库位于其他地方,只能使用某些列入白名单的 IP 访问它,但由于 heroku 不提供动态 IP,我想使用 proximo。
请帮助我如何从 heroku 使用 proximo 连接到远程数据库。