允许对 AKKA-HTTP 服务的所有请求
Allow all requests to the AKKA-HTTP service
同志们!
我有一个来自 AKKA-HTTP 示例的小服务。
import ch.megard.akka.http.cors.scaladsl.CorsDirectives._
object Server extends App{
val route = cors() {
path("hello") {
get {
complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Привет ёпта</h1>"))
}
}
}
val routes = cors() {
concat(route, getUser, createUser, addMessage, getQueue, test, test2)
}
val bindingFuture = Http().newServerAt("localhost", 8080).bind(routes)
}
对于 CORS,我创建文件 resourses/application.conf:
akka-http-cors {
allowed-origins = "*"
allowed-methods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
}
当我在intellij idea中运行一个项目时,路由工作正常:
但是如果我运行 Docker 中的项目,路由将无法工作。
chrome 中的错误:
邮递员错误:
下面是到处关闭项目时的错误:
如何正确配置 application.conf 文件以便应用程序接受第三方请求?或者错误可能隐藏在其他东西中?
请告诉我!
想了两天
UPD:文件Docker文件:
FROM openjdk:8-jre-alpine
WORKDIR /opt/docker
ADD --chown=daemon:daemon opt /opt
USER daemon
ENTRYPOINT ["/opt/docker/bin/servertelesupp"]
CMD []
GitHub 上的项目:https://github.com/MinorityMeaning/ServerTeleSupp
您使用的 -p
标志的值是多少?如果服务器使用 docker 内的 8080 端口,则应为 8080:8080
,如果服务器使用 80(依此类推),则应为 8080:80
。另外请确认 docker.
中的端口确实空闲
PS: 我的声望很低,无法添加评论。
改变
Http().newServerAt("localhost", 8080).bind(routes)
至
Http().newServerAt("0.0.0.0", 8080).bind(routes)
通过在 docker 内绑定到 localhost
,您将无法将流量从外部路由到它。
同志们! 我有一个来自 AKKA-HTTP 示例的小服务。
import ch.megard.akka.http.cors.scaladsl.CorsDirectives._
object Server extends App{
val route = cors() {
path("hello") {
get {
complete(HttpEntity(ContentTypes.`text/html(UTF-8)`, "<h1>Привет ёпта</h1>"))
}
}
}
val routes = cors() {
concat(route, getUser, createUser, addMessage, getQueue, test, test2)
}
val bindingFuture = Http().newServerAt("localhost", 8080).bind(routes)
}
对于 CORS,我创建文件 resourses/application.conf:
akka-http-cors {
allowed-origins = "*"
allowed-methods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
}
当我在intellij idea中运行一个项目时,路由工作正常:
但是如果我运行 Docker 中的项目,路由将无法工作。
chrome 中的错误:
邮递员错误:
下面是到处关闭项目时的错误:
如何正确配置 application.conf 文件以便应用程序接受第三方请求?或者错误可能隐藏在其他东西中? 请告诉我! 想了两天
UPD:文件Docker文件:
FROM openjdk:8-jre-alpine
WORKDIR /opt/docker
ADD --chown=daemon:daemon opt /opt
USER daemon
ENTRYPOINT ["/opt/docker/bin/servertelesupp"]
CMD []
GitHub 上的项目:https://github.com/MinorityMeaning/ServerTeleSupp
您使用的 -p
标志的值是多少?如果服务器使用 docker 内的 8080 端口,则应为 8080:8080
,如果服务器使用 80(依此类推),则应为 8080:80
。另外请确认 docker.
PS: 我的声望很低,无法添加评论。
改变
Http().newServerAt("localhost", 8080).bind(routes)
至
Http().newServerAt("0.0.0.0", 8080).bind(routes)
通过在 docker 内绑定到 localhost
,您将无法将流量从外部路由到它。