2017-03-19 12 views
0

クラウドエンドポイントAPIをHTTPSで呼び出すことを希望します。私app.yamlファイルには、次のものが含まれていますクラウドエンドポイントハンドラSSLリダイレクトがCORSによってブロックされました

# The endpoints handler must be mapped to /_ah/api. 
- url: /_ah/api/.* 
    script: main.api 
    secure: always 

クライアント(すなわちウェブサイト)をするために安全でない(HTTP)App Engineは、安全なバージョン(HTTPS)へのリダイレクトを実行し、エンドポイントのURLを呼び出す

を行った場合たとえば、仮定私の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のクラウドエンドポイントAPI) Googleのドキュメントには、CORSがデフォルトでApp Engine Standardで有効になっていることが記載されています。これは私が使用しているものです。だからなぜこれも問題ではないのか分かりません。

答えて

1

Access-Control-Allow-Originヘッダーをapp.ymlに設定する必要があります。読むために

handlers: 
- url: /_ah/api/.* 
    script: main.api 
    secure: always 
    http_headers: 
    Access-Control-Allow-Origin: http://localhost:4000 

より:

をお使いの場合には、 app.ymlファイルに次のことを試してください。
関連する問題