如何在 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中文网其他相关文章!