带有安全标志的 Appengine app.yaml HTTPS 重定向不起作用

带有安全标志的 Appengine app.yaml HTTPS 重定向不起作用

我的应用程序部署在谷歌应用引擎我的 DNS 是去吧爸爸

我的 app.yaml 是这样的:

handlers:
  - url: /.*
    http_headers:
      X-Forwarded-Proto: https
    script: auto
    secure: always
    redirect_http_response_code: 301
  - url: /
    http_headers:
      X-Forwarded-Proto: https
    static_files: build/index.html
    secure: always
    redirect_http_response_code: 301
    upload: build/index.html
  - url: /(.*)$
    http_headers:
      X-Forwarded-Proto: https
    static_files: build/\1
    secure: always
    redirect_http_response_code: 301
    upload: build/(.*)

但是当我测试我的应用程序网址时

https://[项目 ID].appspot.com显示一个安全的网站,但是 http://[项目 ID].appspot.com才不是

如何将 http 重定向到 https?我在 app.yaml 中做了正确的更改吗?或者是否可以从 GoDaddy DNS 方面进行一些操作?

另外,当我在 URL 中输入我的域名时,例如https://[域名].com它转到安全网站,但随后我输入http://[域名].com它必须“不安全”地点

答案1

查看文档,有两个对 app.yaml 文件的引用,每个环境一个:标准柔性。看来该secure关键字只出现在标准环境中,而在 flex 中不存在。

有两种解决方法可以解决此问题。第一种方法是更改​​为标准环境。如果这不符合您的需求,那么您应该自己从应用程序代码中实现重定向。这并不复杂,但我认为这是额外的工作。

相关内容