提问人:Alfie Danger 提问时间:11/15/2023 最后编辑:Alfie Danger 更新时间:11/15/2023 访问量:61
React 前端与 Go 后端的 CORS 错误 [已关闭]
CORS error in React frontend with Go backend [closed]
问:
我有一个使用 go-gin 静态提供服务的 react 前端。当我部署到 AWS 并在 https 上提供它时,我收到 CORS 错误:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/auth/login. (Reason: CORS request did not succeed)
它在本地工作,当我使用相同的 ssl 证书(不是通配符证书)将其部署到测试环境时。我对杜松子酒路由器的配置如下所示:
corsConfig := cors.Config {
AllowOrigins: []string{"https://example.com"},
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
AllowHeaders: []string{"Access-Control-Allow-Origin", "Origin", "Content-Type", "Authorization"},
AllowCredentials: true,
}
router := gin.Default()
router.Use(cors.New(corsConfig))
authRoutes := router.Group("/auth")
// login route
authRoutes.POST("/login", controller.Login)
router.StaticFS("/static", http.Dir("./frontend/build/static"))
router.StaticFile("/", "./frontend/build/index.html")
router.Run(":8000")
我的前端 API 调用如下所示:
const response = await fetch(`${process.env.REACT_APP_API_AUTH_URL}/login`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
//credentials: 'include',
body: JSON.stringify({
email,
password
})
});
当我在浏览器的 Web 开发人员工具中检查选项调用的标头时,源与我的域匹配,也是 https。将域添加到 AllowOrigins 还不够吗?我需要通配符证书吗?
答: 暂无答案
评论