如何在Google App Engine灵活环境中强制使用SSL

时间:2018-03-12 23:38:08

标签: php google-app-engine

是否有文档显示如何在Google App Engine上强制使用HTTPS - 灵活的PHP?

我尝试将secure放在app.yaml上,但我没有运气。

我也试过 nginx-app.conf 放置这个,但没有运气。

我也试过

set $test "";

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

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

其他选项我试过

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

但没有运气。

1 个答案:

答案 0 :(得分:2)

使用以下代码(从比较中删除-non-cron):

set $test "";

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

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

如果您有cron处理程序,则必须允许具有以下配置的处理程序的http访问:

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