GO:cors-Http状态503-请求的资源上不存在“ Access-Control-Allow-Origin”标头

I have an API made in Go, and a Front in Angular.

When i ping that url : https://myDomain/v1/users/sign/up Angular is trying to do an OPTIONS request.

I saw on some topics that I have to setup cors in my API, that's what I did:

In my main.go file:

servMuxApi := http.NewServeMux()
user.SetUserRoute(servMuxApi)

c := cors.SetupCors()
handler := c.Handler(servMuxApi)

if err := http.ListenAndServe(servPort, handler); err != nil {
    log.Fatal(err)
}

In the SetUserRoute function i just have a HandleFunc:

router.HandleFunc("/v1/users/sign/up", SignUpUser)

SetupCors function :

func SetupCors() *cors.Cors {
    return cors.New(cors.Options{
        AllowedOrigins:   []string{"http://localhost:8081*", "chrome-extension://coohjcphdfgbiolnekdpbcijmhambjff"},
        AllowedMethods:   []string{http.MethodGet, http.MethodPost, http.MethodPut, http.MethodPatch, http.MethodDelete, http.MethodOptions},
        AllowCredentials: true,
        OptionsPassthrough: true,
        })
    }
}

NB: the chrome extension you see is the Postman extension i use on Chrome.

With all of that set i'm still having errors on the Google Chrome console when i try my Angular front Sign Up form :

OPTIONS https://myDomain/v1/users/sign/up 503

Access to XMLHttpRequest at 'https://myDomain/v1/users/sign/up' from origin 'http://localhost:8081' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

EDIT: the problem is, that, on the Chrome console, i don't see that Respone enter image description here

查看全部
douyan1972
douyan1972
2019/04/18 08:13
  • cors
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复