Openshift上的Scalatra应用-设置Jetty IP [英] Scalatra app on Openshift - setting Jetty IP

查看:121
本文介绍了Openshift上的Scalatra应用-设置Jetty IP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在带有DIY墨盒的Openshift上部署最小的Scalatra应用程序.我设法使SBT正常工作,但是当涉及到container:start时,出现了错误:

I'm trying to deploy a minimal Scalatra application on Openshift with DIY cartridge. I've managed to get SBT working, but when it comes to container:start, I get the error:

FAILED SelectChannelConnector@0.0.0.0:8080: java.net.SocketException: Permission denied

显然,嵌入式Jetty尝试以0.0.0.0打开套接字,这是Openshift禁止的(您只能以$ OPENSHIFT_INTERNAL_IP打开端口).我如何才能准确地告诉Jetty我需要听哪个IP?

Apparently, embedded Jetty tries to open socket at 0.0.0.0, which is prohibited by Openshift (you can only open ports at $OPENSHIFT_INTERNAL_IP). How can I tell Jetty exactly which IP I need it to listen?

推荐答案

是的,您对$ OPENSHIFT_INTERNAL_IP感到正确.因此,编辑$ {jetty.home}/etc/jetty.xml并在连接器部分中设置jetty.host,如下所示: …..

Yes you are right about $OPENSHIFT_INTERNAL_IP. So edit ${jetty.home}/etc/jetty.xml and set jetty.host in the connector section as follows: …..

<Set name="connectors">
  <Array type="org.mortbay.jetty.Connector">
   <Item>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
      <Set name="host"><SystemProperty name="jetty.host" />$OPENSHIFT_INTERNAL_IP</Set>
      <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
      ...
    </New>
  </Item>
 </Array>
</Set>

hth

这篇关于Openshift上的Scalatra应用-设置Jetty IP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆