Rest 转到SSL侦听器
我正在Go中构建RESTAPI。 我有一个SSL域和一个专用服务器 该域名指向我的专用域名,运行良好 错误是,当我向API的某个端点发出请求时,我从未收到服务器的响应Rest 转到SSL侦听器,rest,api,go,service,backend,Rest,Api,Go,Service,Backend,我正在Go中构建RESTAPI。 我有一个SSL域和一个专用服务器 该域名指向我的专用域名,运行良好 错误是,当我向API的某个端点发出请求时,我从未收到服务器的响应 func main() { router := NewRouter() handler := cors.New(cors.Options{ AllowedMethods: []string{"GET", "POST", "PUT", "DELETE", "PATCH"}, Al
func main() {
router := NewRouter()
handler := cors.New(cors.Options{
AllowedMethods: []string{"GET", "POST", "PUT", "DELETE", "PATCH"},
AllowCredentials: true,
AllowedOrigins: []string{"*"},
AllowedHeaders: []string{"Authorization", "Content-Type", "Access-Control-Allow-Request-Method"},
}).Handler(router)
log.Fatal(http.ListenAndServeTLS(":4433", "tls.crt", "tls.key", handler))
}
routes.go:
var routes = Routes{ Route{"Index", "GET", "/", Index}, }
func NewRouter() *mux.Router {
fmt.Println("[INFO] Loading EndPoints...")
router := mux.NewRouter().StrictSlash(true)
for _, route := range routes {
router.
Methods(route.Method).
Path(endPoint + route.Pattern).
Name(route.Name).
Handler(route.HandlerFunc).Headers()
}
fmt.Println("[INFO] EndPoints loaded successfully...")
return router
}
索引函数
func Index(w http.ResponseWriter, r *http.Request) {
fmt.Println("API IS RIGHT HERE latest")
w.WriteHeader(http.StatusOK)
w.Header().Add("Strict-Transport-Security", "max-age=63072000; includeSubDomains")
w.Write([]byte("This is an example server.\n"))
}
问题是,我可以在控制台中看到“API就在这里是最新的”,但没有其他内容。我的意思是,响应没有加载。这是邮递员的留言
更新
我只是注意到,如果我使用链接并通过Firefox浏览器加入,那么响应工作正常。但是如果我从邮递员那里请求相同的URL,那么我不会得到响应
更新2
我刚刚从POSTMAN禁用了SSL验证,现在可以正常工作了。但我想知道这个选项的真正含义是什么?因为我买了一个SSL证书,它不是自签名的
我刚刚在Chrome中禁用了SSL验证,响应正常。但我不知道我为什么要这么做?它不是自签名证书。我买了这个。From:在调用WriteHeader或Write后更改标题映射没有任何效果,除非修改的标题被删除。我不知道这是否是根本问题,但您应该更改w.WriteHeader和w.Header.Add的顺序。在显示的代码中,您从未实际将路由添加到路由器。@Adrian是的,我有。我刚刚编辑了这个问题。