我在Go中构建了一个rest API。 我有一个SSL域和一个专用服务器。
域名指向我的专属且工作正常(https://www.myweb.com)。
错误是当我向我的API的某个EndPoint发出请求时,我从未收到服务器的响应。
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最近在这里'在控制台,但没有别的。我的意思是,响应没有加载。这是POSTMAN消息
更新
我刚注意到如果我使用链接并通过Firefox浏览器加入,那么响应可以正常工作。但是,如果我从POSTMAN请求相同的网址,那么我就不会得到回复。
更新2
我刚从POSTMAN禁用SSL验证,现在工作正常。但我想知道这个选项究竟意味着什么?因为我买了一张SSL证书(它不是自签名的)
答案 0 :(得分:1)
我刚刚在Chrome中停用了SSL验证,并且响应正常。但我知道为什么我必须这样做?这不是自签名证书。我买了这个。