java 使用hocon变量时,播放框架2.8.15中的allowedOrigins出现问题

8wtpewkr  于 2022-10-30  发布在  Java
关注(0)|答案(1)|浏览(115)

有一个java应用程序,它使用java,scala,playframework和maven。

jdk 11.0.14
play2 version 2.8.15
scala.version 2.12.15
play2.plugin.version 1.0.0-rc6-SNAPSHOT
sbt-compiler.plugin.version   1.0.0

应用程序.conf

play.application.loader = "loader.BasicApplicationLoader"

play.modules.disabled += "play.core.ObjectMapperModule"
play.modules.enabled += "modules.WebObjectMapperModule"

play.modules.enabled += "modules.StartUpModule"
play.modules.enabled += "modules.ClusterMonitoringModule"
play.modules.enabled += "com.kenshoo.play.metrics.PlayModule"

play.filters.enabled = [
    "play.filters.gzip.GzipFilter",
    "com.kenshoo.play.metrics.MetricsFilter",
    "http.filters.ClusterStatusFilter",
    "play.filters.cors.CORSFilter"
]

play.http.actionCreator = "http.BasicActionCreator"
play.http.requestHandler = "http.WebHttpRequestHandler"
play.http.errorHandler = "http.BasicErrorHandler"

server1.host="http://localhost:9000/"
server2.host="http://localhost:2000/"
server3.host="http://localhost:11000/"

play.filters.cors {
     pathPrefixes = ["/"]
     allowedOrigins = [${?server1.host}, ${?server2.host}, ${?server3.host}]
     allowedHttpMethods = ["GET", "POST", "PUT", "DELETE", "OPTIONS"]
     allowedHttpHeaders = ["Accept", "Origin", "Content-Type"]
     exposedHeaders = ["X-TOTAL-PAGE-COUNT", "X-TOTAL-ELEMENT-COUNT"]
     preflightMaxAge = 1 hour
}

response.delay.milliseconds=500

根据Play documentation这应该工作,但它没有,我得到的cors错误:
CORS策略已阻止从源“https://localhost:9000 "访问位于”https://localhost:8080“的XMLHttpRequest:请求的资源上不存在“Access-Control-Allow-Origin”标头。
到目前为止我都试了些什么?
我已经检查了服务器,我已经部署,如果使用的变量被正确解释,是的,他们是.我需要使用这样的变量,因为这个url的值在部署时根据环境需要在服务器上覆盖.
尝试在exposedHeader中添加访问控制允许来源,尝试在allowedHttpHeaders中添加,但没有成功。

g6ll5ycj

g6ll5ycj1#

所以,在发布这些问题后,我已经弄清楚了问题。
问题在于这些服务器值:

server1.host="http://localhost:9000/"
server2.host="http://localhost:2000/"
server3.host="http://localhost:11000/" especially the slash (/) at the end.

对于浏览器是源“http://localhost:9000”没有斜杠,这就是为什么差异。

相关问题