GAEでhttpのアクセスをhttpsにリダイレクトする

GAEはデフォルトだとhttpでもhttpsでもアクセスできてしまいます。
httpのアクセスをhttpsにリダイレクトするにはapp.yamlで記述します。
handlersのurlに対して、secure: alwaysredirect_http_response_code: 301を記述します。

Laravelで使用しているapp.yamlの例。
リダイレクトは最後に記述しなければならないし、staticのものにもsecure: alwaysが必要です。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
handlers:
- url: /favicon\.ico
static_files: public/favicon.ico
upload: public/favicon.ico
secure: always
- url: /css
static_dir: public/css
secure: always
- url: /img
static_dir: public/img
secure: always
- url: /js
static_dir: public/js
secure: always
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto

参考

app.yaml 構成ファイル

GCPカテゴリの記事