Google app engine 云端点处理程序SSL重定向被CORS阻止
我希望使用HTTPS调用我的云端点API。我的Google app engine 云端点处理程序SSL重定向被CORS阻止,google-app-engine,cors,google-cloud-endpoints,Google App Engine,Cors,Google Cloud Endpoints,我希望使用HTTPS调用我的云端点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) 例如,假设我的应用程序引擎应用程序位于http://api.endpoints.my
app.yaml
文件包含以下内容:
# The endpoints handler must be mapped to /_ah/api.
- url: /_ah/api/.*
script: main.api
secure: always
如果客户端(即网站)对端点URL进行不安全(HTTP)调用,App Engine将执行重定向到安全版本(HTTPS)
例如,假设我的应用程序引擎应用程序位于http://api.endpoints.my-app.appspot.com
向方法mymethod
发出HTTP GET请求的API端点是:
http://api.endpoints.my-app.appspot.com/_ah/api/myapp/v1/mymethod
应用程序引擎重定向到HTTPS版本:
https://api.endpoints.my-app.appspot.com/_ah/api/myapp/v1/mymethod
但是,来自的重定向被阻止:
被CORS策略阻止:请求的资源上不存在“Access Control Allow Origin”头。起源'http://localhost:4200因此,不允许访问。
我如何将所需的头添加到我的资源(即应用程序引擎上的我的云端点API)?谷歌的文档说明CORS在默认情况下是在应用程序引擎标准上启用的,这就是我正在使用的。因此,我甚至不确定这是一个问题。您应该能够在
app.yml
中配置访问控制允许源站
标题。对于您的情况,请在app.yml
文件中尝试以下操作:
handlers:
- url: /_ah/api/.*
script: main.api
secure: always
http_headers:
Access-Control-Allow-Origin: http://localhost:4000
更多内容请阅读: