2 Revize e160d5628d ... cd599e39ec

Autor SHA1 Zpráva Datum
  abiao cd599e39ec Merge branch 'develop' of http://git.hiwavo.com/Fohow/fohow_api into develop před 3 týdny
  abiao e757eb514a fix: support comma-separated RailsAdminAddr whitelist před 3 týdny
1 změnil soubory, kde provedl 11 přidání a 1 odebrání
  1. 11 1
      go/gopath/src/fohow.com/apps/init.go

+ 11 - 1
go/gopath/src/fohow.com/apps/init.go

@@ -381,11 +381,21 @@ func checkWxUserLogin(ctx *context.Context) {
 }
 
 // 检查来自大后台的请求是否为服务器IP
+// 支持配置项 RailsAdminAddr 为逗号分隔的 IP 白名单(容器化后 docker 网桥网关需要加入白名单)
 func CheckIsInvokeFromRailsAdmin(ctx *context.Context) {
 	s := strings.Split(ctx.Request.RemoteAddr, ":")
 	ip := s[0]
 	beego.BeeLogger.Debug("railsadmin request ip is: %s", ip)
-	if ip != beego.AppConfig.String("RailsAdminAddr") {
+	allowed := strings.Split(beego.AppConfig.String("RailsAdminAddr"), ",")
+	matched := false
+	for _, a := range allowed {
+		if strings.TrimSpace(a) == ip {
+			matched = true
+			break
+		}
+	}
+	if !matched {
+		beego.BeeLogger.Warn("railsadmin request rejected, ip=%s not in whitelist", ip)
 		errCode := &ErrCode{
 			Code:     RailAdminIPReduced[0],
 			Msg:      RailAdminIPReduced[1],