gpt4 book ai didi

google-app-engine - 如何在 Google Cloud AppEngine 上强制使用 https

转载 作者:数据小太阳 更新时间:2023-10-29 03:18:28 25 4
gpt4 key购买 nike

我正在尝试为托管在 Google Cloud AppEngine 上的应用程序的所有流量强制使用 https。 https 有效,但尽管遵循了将 http 流量重写为 https 的说明,但仍然可以使用 http 访问该站点,这会导致问题。

我已将其添加到 app.yaml 中:

handlers:
- url: /.*
script: _go_app
secure: always
redirect_http_response_code: 301

但好像没什么区别。

我正在使用 julienschmidt 路由器,然后用它来处理所有路由:

log.Fatal(fmt.Println(http.ListenAndServe(":8080", router)))

我看过使用 http.ListenAndServeTLS,但这需要额外的参数,我无法弄清楚这些值在 Google AppEngine 上下文中应该是什么。

log.Fatal(fmt.Println(http.ListenAndServeTLS(":8443", "cert.pem", "key.pem", router)))

“cert.pem”和“key.pem”在哪里?

我读到我不需要在我的应用程序中显式提供 TLS,因为 AppEngine 会为我处理它,所以即使我知道参数是什么,我也不确定它是否对 强制 https。

http://sapling.appspot.com
https://sapling.appspot.com
http://sapling.money
https://sapling.money

所有上述工作,但我似乎无法将任何一个 http 版本强制转换为 https。

最佳答案

如果您使用的是 secure:always 处理程序并且请求没有被自动重定向,那么您可能正在使用 App Engine Flex?

App Engine Flex 不支持处理程序,您可以在 Flexible app.yaml 中看到这一点文档。

相反,如果请求是通过 HTTP 或 HTTPS 发送并重定向,您可以检查代码。这是通过 App Engine specific header 完成的X-Forwarded-Proto.

实现是在你这边配置的,有一个简短的paragraph关于这个问题。

您还可以查看具有相同答案的类似 Stack 帖子 1

希望对您有所帮助!

关于google-app-engine - 如何在 Google Cloud AppEngine 上强制使用 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57512484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com