去SSL侦听器

时间:2018-02-01 03:01:30

标签: rest api go service backend

我在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消息 enter image description here

更新

我刚注意到如果我使用链接并通过Firefox浏览器加入,那么响应可以正常工作。但是,如果我从POSTMAN请求相同的网址,那么我就不会得到回复。

更新2

我刚从POSTMAN禁用SSL验证,现在工作正常。但我想知道这个选项究竟意味着什么?因为我买了一张SSL证书(它不是自签名的)

enter image description here

1 个答案:

答案 0 :(得分:1)

我刚刚在Chrome中停用了SSL验证,并且响应正常。但我知道为什么我必须这样做?这不是自签名证书。我买了这个。