如何使用Spark的嵌入式jetty服务器监听外部请求

时间:2016-12-03 00:00:28

标签: java server ip jetty spark-java

我正在使用sparkjava.com为移动应用设置小型服务器。它嵌入了一个码头服务器,当我打电话给http://localhost:4567/myRequest时它工作正常。但现在我想从我当地的环境之外调用它。

我尝试使用以下内容设置IP地址:

Spark.ipAddress("my-ip")

使用" my-ip"正如我在www.whatismyip.com这样的东西上发现的。但是在启动时我得到了

[Thread-0] ERROR spark.embeddedserver.jetty.EmbeddedJettyServer - ignite failed
java.net.BindException: Cannot assign requested address: bind

我有使用java的经验,但遗憾的是根本没有网络开发本身,所以我有点迷失...是否知道它应该如何工作?

谢谢

1 个答案:

答案 0 :(得分:1)

您需要将Web API应用部署到某个服务器。您可以做的最简单的事情是将其部署到某些免费的PaaS,例如heroku。除此之外,如果您的API将从正在运行的服务器外部调用,则需要在Spark中实现CORS。

这里有两个教程解释了如何做到这一点: https://sparktutorials.github.io/2015/08/24/spark-heroku.html https://sparktutorials.github.io/2016/05/01/cors.html