【问题标题】:How to listen to external requests with Spark's embedded jetty server如何使用 Spark 的嵌入式码头服务器监听外部请求
【发布时间】:2017-04-17 23:37:29
【问题描述】:

我正在使用 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 的经验,但不幸的是根本没有 web 开发本身,所以我有点迷茫......有人知道它应该如何工作吗?

谢谢

【问题讨论】:

  • 您必须从您的互联网提供商那里租用一个静态 IP 号码,并为此外部访问构建一个基础设施。我建议您首先在 Openshift、Amazon 或 Azure 上启动免费机器,以便熟悉这些外部访问问题。但是,出于测试目的,可以使用内部 IP 从您的局域网中访问您的应用程序。
  • 你也可以尝试在heroku上运行你的服务器!

标签: java server ip jetty spark-java


【解决方案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

【讨论】:

  • 抱歉回答晚了,但谢谢,这正是我想要的:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
相关资源
最近更新 更多