Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 允许对AKKA-HTTP服务的所有请求_Scala_Service_Request_Akka_Akka Http - Fatal编程技术网

Scala 允许对AKKA-HTTP服务的所有请求

Scala 允许对AKKA-HTTP服务的所有请求,scala,service,request,akka,akka-http,Scala,Service,Request,Akka,Akka Http,同志们! 我有一个来自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)`

同志们! 我有一个来自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)
}
当我在intellij idea中运行一个项目时,该路线运行良好:

但是如果我在Docker中运行该项目,则该路线不起作用。 chrome中的错误:

邮递员错误:

以下是在任何地方关闭项目时出现的错误:

如何正确配置application.conf文件,以便应用程序接受第三方请求?或者错误隐藏在其他东西中? 请告诉我! 我已经想了两天了

UPD:文件摘要文件:

FROM openjdk:8-jre-alpine
WORKDIR /opt/docker
ADD --chown=daemon:daemon opt /opt
USER daemon
ENTRYPOINT ["/opt/docker/bin/servertelesupp"]
CMD []

GitHub上的项目:

您正在使用的
-p
标志的值是多少?如果服务器在docker内部使用8080端口,则应为
8080:8080
;如果服务器使用80端口,则应为
8080:80
(依此类推)。另外,请确认端口在docker内部确实是空闲的


注:我的声誉很低,无法添加评论。

您使用的
-p
标志的价值是什么?如果服务器在docker内部使用8080端口,则应为
8080:8080
;如果服务器使用80端口,则应为
8080:80
(依此类推)。另外,请确认端口在docker内部确实是空闲的

附言:我的声誉很低,无法添加评论。

改变

Http().newServerAt(“localhost”,8080).bind(路由)

Http().newServerAt(“0.0.0.0”,8080).bind(路由)

通过绑定到docker内部的
localhost
,您将无法将流量从外部路由到docker。

更改

Http().newServerAt(“localhost”,8080).bind(路由)

Http().newServerAt(“0.0.0.0”,8080).bind(路由)


通过绑定到docker内部的
localhost
,您将无法将流量从外部路由到docker。

CORS似乎不是问题所在。您介意在问题中添加Dockerfile代码吗?另外,还请删除错误图像。查看“如何提问”指南,了解关于如何提问的更多建议@RodrigoVedovato,是的,我可以删除错误图像。但它们真的没用吗?我将在一分钟内添加Dockerfile的内容。对于大多数情况,错误的文本描述应该足够了。图像是不被鼓励的,除了不能用文字描述的东西,比如图表和渲染问题(比如CSS问题)@RodrigoVedovato这里,这个家伙面对的是我的处境。除非你忘了提别的事情,我相信他的问题和你的不同。CORS适用于不同域之间的调用,例如托管在localhost:4200上的网页调用托管在localhost:8000CORS上的API似乎不是问题。您介意在问题中添加Dockerfile代码吗?另外,还请删除错误图像。查看“如何提问”指南,了解关于如何提问的更多建议@RodrigoVedovato,是的,我可以删除错误图像。但它们真的没用吗?我将在一分钟内添加Dockerfile的内容。对于大多数情况,错误的文本描述应该足够了。图像是不被鼓励的,除了不能用文字描述的东西,比如图表和渲染问题(比如CSS问题)@RodrigoVedovato这里,这个家伙面对的是我的处境。除非你忘了提别的事情,我相信他的问题和你的不同。CORS适用于不同域之间的调用,例如托管在localhost:4200上的网页调用托管在localhost:8000上的API是的,我使用的是8080:8080。项目使用端口8080。我正在通过8080端口访问docker。所以我用8080:8080。是的,我用8080:8080。这个项目使用8080端口。我正在通过8080端口访问docker。所以我用8080:8080。是的!这是我的工作!很酷!谢谢你的关注。是的!这是我的工作!很酷!谢谢你的关注。
FROM openjdk:8-jre-alpine
WORKDIR /opt/docker
ADD --chown=daemon:daemon opt /opt
USER daemon
ENTRYPOINT ["/opt/docker/bin/servertelesupp"]
CMD []