[Go] CORS 支持多个 origin 访问的思路 (Access-Control-Allow-Origin 部分)
以下为局部伪代码,仅供参考: var allowOrigin string allowOrigins := config.AppConf.Get("middleware.cors.allowOrigins").(string) if strings.Contains(allowOrigins, "*") { allowOrigin = "*" } else { origin := c.GetHeader("Origin") if strings.Contains(allowOrigins, origin) { allowOrigin = origin } } if allowOrigin != "" { c.Writer.Header().Set("Access-Control-Allow-Origin", allowOrigin) } 思路是,配置中如果配置了允许任何域名跨域访问,则设置 Access-Control-Allow-Origin 为 “*”。 其次如果当前 origin 被允许,那么设置 Access-Control-Allow-Origin 为当前 origin。 其余情况不设置 Access-Control-Allow-Origin。 [Go] httprouter 自动 OPTIONS 响应 和 CORS [Go] Viper 加载项目配置,go build