- 配置管理对象
- 配置管理方法
- 常用配置介绍
- 关闭路由表打印
- 关闭路由表打印
配置管理对象
https://godoc.org/github.com/gogf/gf/g/net/ghttp#ServerConfig
// HTTP Server 设置结构体,静态配置type ServerConfig struct {// 底层http对象配置Addr string // 监听IP和端口,监听本地所有IP使用":端口"(支持多个地址,使用","号分隔)HTTPSAddr string // HTTPS服务监听地址(支持多个地址,使用","号分隔)HTTPSCertPath string // HTTPS证书文件路径HTTPSKeyPath string // HTTPS签名文件路径Handler http.Handler // 默认的处理函数ReadTimeout time.Duration // 读取超时WriteTimeout time.Duration // 写入超时IdleTimeout time.Duration // 等待超时MaxHeaderBytes int // 最大的header长度TLSConfig tls.Config// 静态文件配置IndexFiles []string // 默认访问的文件列表IndexFolder bool // 如果访问目录是否显示目录列表ServerAgent string // Server AgentServerRoot string // 服务器服务的本地目录根路径(检索优先级比StaticPaths低)SearchPaths []string // 静态文件搜索目录(包含ServerRoot,按照优先级进行排序)StaticPaths []staticPathItem // 静态文件目录映射(按照优先级进行排序)FileServerEnabled bool // 是否允许静态文件服务(通过静态文件服务方法调用自动识别)// COOKIECookieMaxAge int // Cookie有效期CookiePath string // Cookie有效Path(注意同时也会影响SessionID)CookieDomain string // Cookie有效Domain(注意同时也会影响SessionID)// SESSIONSessionMaxAge int // Session有效期SessionIdName string // SessionId名称// IP访问控制DenyIps []string // 不允许访问的ip列表,支持ip前缀过滤,如: 10 将不允许10开头的ip访问AllowIps []string // 仅允许访问的ip列表,支持ip前缀过滤,如: 10 将仅允许10开头的ip访问// 路由访问控制DenyRoutes []string // 不允许访问的路由规则列表Rewrites map[string]string // URI Rewrite重写配置// 日志配置LogPath string // 存放日志的目录路径(默认为空,表示不写文件)LogHandler LogHandler // 自定义日志处理回调方法(默认为空)LogStdPrint bool // 是否打印日志到终端(默认开启)ErrorLogEnabled bool // 是否开启error log(默认开启)AccessLogEnabled bool // 是否开启access log(默认关闭)// 其他设置NameToUriType int // 服务注册时对象和方法名称转换为URI时的规则GzipContentTypes []string // 允许进行gzip压缩的文件类型DumpRouteMap bool // 是否在程序启动时默认打印路由表信息RouterCacheExpire int // 路由检索缓存过期时间(秒)}
配置管理方法
https://godoc.org/github.com/gogf/gf/g/net/ghttp#Server
Web Server的配置比较丰富,所有的配置均可在创建ghttp.Server对象后使用SetConfig方法进行统一配置;也可以使用Server对象的Set*/Enable*方法进行特定配置的设置。主要注意的是,配置项在Server执行Start之后便不能再修改。
常用配置介绍
关闭路由表打印
在WebServer启动的时候默认会打印出当前注册的所有路由信息(包括HOOK注册),这对于开发者来说非常有用。如果不想启动时打印路由表信息,可以通过以下方式关闭:
g.Server().SetDumpRouteMap(false)
此外,我们也可以通过以下方式获取路由表信息(不自动打印),随后我们可以自定义处理:
routes := g.Server().GetRouteMap()
