How to Force SSL on Google App Engine Flexible Env

2019-03-02 07:14发布

Is there documentation showing how to force HTTPS on Google App Engine - Flexible PHP?

I tried placing secure on app.yaml and I had no luck.

I also tried in the nginx-app.conf placing this but no luck.

I also tried

set $test "";

if ($http_x_forwarded_proto = 'http') {
    set $test "http";
}

if ($test = 'http-non-cron') {
    return 301 https://$host$request_uri;
}

Other Option I tried

<?php     
     header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload");  
     exit();  
?>

but no luck.

1条回答
手持菜刀,她持情操
2楼-- · 2019-03-02 08:14

Use the following code (remove -non-cron from the comparison):

set $test "";

if ($http_x_forwarded_proto = 'http') {
    set $test "http";
}

if ($test = 'http') {
    return 301 https://$host$request_uri;
}

If you have cron handler, you have to allow http access for those handlers with configurations like the following:

set $test "";

if ($http_x_forwarded_proto = 'http') {
    set $test "http";
}
if ($request_uri != '/cron/') { # everything under /cron/
    set $test "${test}-non-cron";
}
if ($test = 'http-non-cron') {
    return 301 https://$host$request_uri;
}
查看更多
登录 后发表回答