Dos
Dos

Reputation: 174

How to Force SSL on Google App Engine Flexible Environment

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.

Upvotes: 2

Views: 641

Answers (1)

Takashi Matsuo
Takashi Matsuo

Reputation: 3436

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;
}

Upvotes: 2

Related Questions