java服务器上Google App Engine中的CORS错误

java服务器上Google App Engine中的CORS错误,java,spring-boot,google-app-engine,google-cloud-platform,cors,Java,Spring Boot,Google App Engine,Google Cloud Platform,Cors,我有两个应用程序 前端(角度)在Firebase上运行 后端Spring引导(Java11)在应用程序引擎上运行 尝试访问app engine中的任何终结点时出错 “访问已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标题” 有趣的是,在我的本地机器上,一切都很好。cors没有问题。 所以,我想问题出在appengine或smth的配置上 有人能帮我解决这个问题吗?我已经花了很多时间试图修复它。 已经阅读了很多类似的问题。 最后一点: 在谷歌文档

我有两个应用程序

前端(角度)在Firebase上运行

后端Spring引导(Java11)在应用程序引擎上运行

尝试访问app engine中的任何终结点时出错
“访问已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标题”

有趣的是,在我的本地机器上,一切都很好。cors没有问题。 所以,我想问题出在appengine或smth的配置上

有人能帮我解决这个问题吗?我已经花了很多时间试图修复它。 已经阅读了很多类似的问题。 最后一点:

在谷歌文档中找不到任何有用的东西

这里是我的app.yaml文件

runtime: java11
instance_class: F4
vpc_access_connector:
  name: projects/<project_id>/locations/<location>/connectors/<connectors_name>
端点示例

@RestController
@RequestMapping("/test")
@AllArgsConstructor
public class TestController {

    @GetMapping
    public String hello() {
        return "hello world";
    }
}

我认为你的应用引擎yaml文件需要在处理程序中允许, 你可以用这个例子

handlers:
- url: /images
  static_dir: static/images
  http_headers:
    Access-Control-Allow-Origin: https://frontend.firebase.url.com

您还可以使用*而不是指定允许访问的url,我想您不能使用app.yaml来控制动态处理程序的HTTP头。它仅适用于静态内容

这就是为什么此配置无法部署,映射类型脚本出现此错误
“意外属性”http\u headers。“

实例_类:F4
专有网络接入连接器:
名称:项目//位置//连接器/
处理程序:
-网址:/*
脚本:自动
http_头:
访问控制允许来源:*

我的属性中有错误的允许来源URL。因此,我的问题中的配置文件和所有cors配置都是正确的。

我想这个处理程序只适用于后端的资源,而不适用于端点。
@RestController
@RequestMapping("/test")
@AllArgsConstructor
public class TestController {

    @GetMapping
    public String hello() {
        return "hello world";
    }
}
handlers:
- url: /images
  static_dir: static/images
  http_headers:
    Access-Control-Allow-Origin: https://frontend.firebase.url.com
instance_class: F4
vpc_access_connector:
  name: projects/<project_id>/locations/<location>/connectors/<connectors_name>
handlers:
  - url: /.*
    script: auto
    http_headers:
      Access-Control-Allow-Origin: *