【发布时间】:2021-05-22 23:00:26
【问题描述】:
同志们! 我有一个来自 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,我创建文件资源/application.conf:
akka-http-cors {
allowed-origins = "*"
allowed-methods = ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS"]
}
当我在 intellij idea 中运行一个项目时,该路线运行良好:
但是如果我在 Docker 中运行该项目,该路由将无法正常工作。 铬错误:
邮递员错误:
如何正确配置 application.conf 文件以使应用程序接受第三方请求?或者错误可能隐藏在其他东西中? 请告诉我! 我想了两天。
UPD:文件 DockerFile:
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
【问题讨论】:
-
CORS 似乎不是问题所在。您介意将您的 Dockerfile 代码添加到问题中吗?另外,还请删除错误图像。查看“如何提问”指南以获取有关如何提问stackoverflow.com/help/how-to-ask 的更多建议
-
@RodrigoVedovato,是的,我可以删除错误图像。但它们真的没用吗?我会在一分钟内添加 Dockerfile 的内容。
-
对于大多数情况,错误的文本描述应该足够了。不鼓励使用图片,除非无法使用文字来描述,例如图表和渲染问题(例如 CSS 问题)
-
@RodrigoVedovato 在这里,这家伙正面临着我的处境。 youtu.be/CzKvO5xO9XE?t=343
-
除非您忘记提及其他内容,否则我相信他的问题与您的问题不同。 CORS 适用于不同域之间的调用,例如托管在 localhost:4200 上的网页调用托管在 localhost:8000 上的 API
标签: scala service request akka akka-http