gpt4 book ai didi

google-cloud-platform - 如何在 Google Cloud Run 中将所有 http 流量重定向到 https

转载 作者:行者123 更新时间:2023-12-04 20:58:20 27 4
gpt4 key购买 nike

我有一个部署到 Google Cloud Run 的简单容器化 Web 应用程序(Nginx 提供 HTML 和 Javascript)。

问题是,即使我已经验证并更新了 DNS 记录,我似乎也无法强制使用 HTTPS 连接。如果用户愿意,他们仍然可以访问我的 Cloud Run 应用程序的不安全的 http 端点。

如何设置强制或重定向用户使用 HTTPS 的 Google Cloud Run 服务?

最佳答案

LB 发送一个名为 X-Forwarded-Proto 的 header 包含 httphttps所以你可以轻松地使用 301 Moved Permanently 重定向万一你发现了。

使用 Nginx 编辑问题的示例:
http://scottwb.com/blog/2013/10/28/always-on-https-with-nginx-behind-an-elb/

示例代码:

func main() {
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
if request.Header["X-Forwarded-Proto"][0] == "http" {
http.Redirect(writer, request, "https://" + request.Host + request.RequestURI, http.StatusMovedPermanently)
return
}

fmt.Printf("Request: %+v, headers: %+v \n", request, request.Header)

writer.Write([]byte("hello world"))
})
http.ListenAndServe(":"+os.Getenv("PORT"), nil)
}

关于google-cloud-platform - 如何在 Google Cloud Run 中将所有 http 流量重定向到 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55699148/

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