- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试为托管在 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/
我是一名优秀的程序员,十分优秀!