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

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

Linda Hamilton
发布: 2024-12-04 08:42:11
原创
966 人浏览过

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板