首页 >后端开发 >Golang >如何在 Go 应用程序中将 HTTP 重定向到 HTTPS?

如何在 Go 应用程序中将 HTTP 重定向到 HTTPS?

Linda Hamilton
Linda Hamilton原创
2024-12-04 08:42:11963浏览

How to Redirect HTTP to HTTPS in a Go Application?

如何在 Go 中将 HTTP 流量重定向到 HTTPS

问题:

您已经启用 TLS,允许您的 Go 应用程序接受 HTTPS 连接。但是,您还希望将 HTTP 流量重定向到 HTTPS。

解决方案:

创建自定义处理程序来处理 HTTP 流量并将其重定向到 HTTPS:

import (
    "net/http"
)

func redirectToTls(w http.ResponseWriter, r *http.Request) {
    // If you are serving on Go servers, you can use "r.Host"
    http.Redirect(w, r, "https://your-domain-name.com"+r.RequestURI, http.StatusMovedPermanently)
}

接下来,添加以下代码来重定向 HTTP 流量:

    go func() {
        if err := http.ListenAndServe(":80", http.HandlerFunc(redirectToTls)); err != nil {
            log.Fatalf("ListenAndServe error: %v", err)
        }
    }()

这将开始用于处理 HTTP 流量的单独 goroutine,它将传入的 HTTP 请求重定向到其对应的 HTTPS 请求。

以上是如何在 Go 应用程序中将 HTTP 重定向到 HTTPS?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn