私は、外部Webサイトから提供されたJavaScriptから作成されたWebサービス(Python)を作成しました。ヘッダーに属性Access-Control-Allow-Origin
が必要です。そうしないと、ブラウザはマイマイクロサービスからの入力を受け付けません。gcloud app engine flexible - ヘッダーをマイクロサービスのPythonから削除する
gcloudの柔軟なアプリケーションエンジンが私のヘッダーを削除しているようです。私はvm(gcloud)からpythonを実行するとヘッダーを取得しますが、gcloudの "app"として実行すると、私はそれを取得しません。
app.yaml
にaccess-control-allow-origin : *
を追加しようとしましたが、スクリプトハンドラを使用しているときにはこれを実行できません。私は、ヘッダーを注入し、私のpythonの
パート:
response_headers = [('Content-type','json/application; charset=utf-8'),('Access-Control-Allow-Origin','*')]
start_response(status,response_headers)
マイapp.yaml
:
entrypoint: python autocomp.py
env: flex
runtime: python
handlers:
- url: /.*
script: autocomp.py
私は、レスポンス*でヘッダーを削除するために何もしていないと思います。ちょうどFYI - ハンドラ:app.yamlのセクションは、 'env:flex'に全く何もしていません:) –
応答に感謝します。興味があれば、私はあなたにpythonファイルを与えることができ、あなたはあなたの最後を試すことができます。私はブラウザのヘッダーをチェックしていますが、vm(gcloud)からPythonを実行するとアクセス制御が得られますが、私はappengineで非常に同じPythonを実行するとそれを取得しません。 –
クロームコンソールで次のように表示されます。あなたが下を見ると、マイクロサービスに達する前にリダイレクトが起こっています。私はコンテナの前で走っているhaproxy/lbがヘッダーを変えていることを推測します。私は今日、appengineでtcpdumpをやってみるつもりです。 –