현재 EasyNVR 로그인과 같이 TSINGSEE Qingxi Video에서 개발 한 클라우드 사이드 엔드 아키텍처 비디오 플랫폼은 기본적으로 http 프로토콜을 사용하며 https를 통해 로그인해야하는 경우 SSL 인증서를 구성해야합니다.
HTTP1.0 버전은 GET, POST, HEAD의 세 가지 요청 방법을 정의합니다. 차세대 HTTP1.1 버전에는 OPTIONS, PUT, DELETE, TRACE 및 CONNECT 메소드의 5 가지 요청 메소드가 추가되었습니다.
요청 방법의 복잡성으로 인해 사용 중에 불필요한 HTTP 메서드를 활성화하면 보안 문제가 발생할 수 있습니다. 따라서 비즈니스에 영향을주지 않고 불필요한 HTTP 메서드를 비활성화하는 것이 좋습니다.
인터페이스의 요청 방법은 서버에서 지정하며 서버의 위치를 수정할 수 있습니다.
allowMethod := utils.Conf().Section("base_config").Key("allow_method").MustString("GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS")
allowMethods := strings.Split(allowMethod, ",")
corsConfig := cors.Config{
// 允许的请求格式
AllowMethods: allowMethods,
AllowHeaders: []string{"Origin", "Content-Length", "Content-Type"},
AllowCredentials: true,
MaxAge: 12 * time.Hour,
}
if allAllOrigins {
// 允许的域名或者IP
corsConfig.AllowOrigins = allowOrigins
corsConfig.AllowOriginFunc = func(origin string) bool { return false }
} else {
corsConfig.AllowAllOrigins = true
}
Router.Use(cors.New(corsConfig))
allowMethod는 인터페이스에서 허용하는 요청 메소드이며 구성 파일의 구성을 지원하도록 변경해야합니다. 구성되지 않은 경우 기본적으로 GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS 요청 메소드가 있습니다.