1 回答

TA貢獻1863條經驗 獲得超2個贊
使用重定向到裸域或委托給原始處理程序的處理程序包裝 TLS 服務器處理程序。
問題中的代碼使用http.DefaultServeMux作為處理程序的 TLS 服務器。這是一個處理函數,可以重定向或調用 http.DefaultServeMux:
func redirectWWW(w http.ResponseWriter, r *http.Request) {
if strings.HasPrefix(r.Host, "www.") {
u := *r.URL
u.Scheme = "https"
u.Host = strings.TrimPrefix(r.Host, "www.")
http.Redirect(w, r, u.String(), http.StatusFound)
return
}
http.DefaultServeMux.ServeHTTP(w, r)
}
在 TLS 服務器中使用此處理程序:
handle.Lv.Println(http.ListenAndServeTLS(database.Config.PORT, database.Config.TLScertfile,
database.Config.TLSkeyfile, http.HandlerFunc(redirectWWW)))
- 1 回答
- 0 關注
- 165 瀏覽
添加回答
舉報