我希望使用HTTPS调用我的Cloud Endpoints API。我的app.yaml
文件包含以下内容:
# The endpoints handler must be mapped to /_ah/api.
- url: /_ah/api/.*
script: main.api
secure: always
如果客户端(即网站)对端点URL进行不安全(HTTP)调用,App Engine会执行重定向到安全版本(HTTPS)
例如,假设我的App Engine应用程序位于http://api.endpoints.my-app.appspot.com
,并且用于向方法mymethod
发出HTTP GET请求的API端点是:
http://api.endpoints.my-app.appspot.com/_ah/api/myapp/v1/mymethod
App Engine重定向到HTTP S 版本:
https://api.endpoints.my-app.appspot.com/_ah/api/myapp/v1/mymethod
但是,重定向来自阻止:
blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:4200' is therefore not allowed access.
如何将所需的标头添加到我的资源(即App Engine上的我的Cloud Endpoints API)?谷歌的文档声明默认情况下在App Engine Standard上启用了CORS - 这就是我正在使用的。所以我不确定为什么这甚至是一个问题。
答案 0 :(得分:1)
您应该能够在Access-Control-Allow-Origin
中配置app.yml
标头。对于您的情况,请尝试以下app.yml
文件:
handlers:
- url: /_ah/api/.*
script: main.api
secure: always
http_headers:
Access-Control-Allow-Origin: http://localhost:4000
更多内容阅读: