我正在尝试使用 DIY 盒在 Openshift 上部署一个最小的 Scalatra 应用程序。我已经成功让 SBT 正常工作,但是当涉及到container:start
,我收到错误:
FAILED SelectChannelConn[email protected] /cdn-cgi/l/email-protection:8080: java.net.SocketException: Permission denied
显然,嵌入式 Jetty 尝试打开 0.0.0.0 处的套接字,这是 Openshift 禁止的(您只能打开 $OPENSHIFT_INTERNAL_IP 处的端口)。我怎样才能准确地告诉 Jetty 我需要它监听哪个 IP?
是的,您对 $OPENSHIFT_INTERNAL_IP 的看法是正确的。因此,编辑 ${jetty.home}/etc/jetty.xml 并在连接器部分中设置 jetty.host,如下所示:
……
<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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)