kratos bff 前端调用跨域配置
没有gateaway 前端直接命中BFF
我们需要在 internal/server/http.go
// HTTP路由注册
func NewHTTPServer(c *conf.Server, logger log.Logger, blog *service.BlogService) *http.Server {
opts := []http.ServerOption{
http.Middleware(
recovery.Recovery(),
tracing.Server(),
logging.Server(logger),
validate.Validator(),
),
}
if c.Http.Network != "" {
opts = append(opts, http.Network(c.Http.Network))
}
if c.Http.Addr != "" {
opts = append(opts, http.Address(c.Http.Addr))
}
if c.Http.Timeout != nil {
opts = append(opts, http.Timeout(c.Http.Timeout.AsDuration()))
}
// 配置跨域
opts = append(opts, http.Filter(handlers.CORS(
// 域名配置
handlers.AllowedOrigins([]string{"*"}),
handlers.AllowedHeaders([]string{"Content-Type"}),
handlers.AllowedMethods([]string{"GET", "POST"}),
)))
srv := http.NewServer(opts...)
v1.RegisterBlogServiceHTTPServer(srv, blog)
return srv
}