• 配置管理对象
  • 配置管理方法
  • 常用配置介绍
    • 关闭路由表打印

    配置管理对象

    https://godoc.org/github.com/gogf/gf/g/net/ghttp#ServerConfig

    1. // HTTP Server 设置结构体,静态配置
    2. type ServerConfig struct {
    3. // 底层http对象配置
    4. Addr string // 监听IP和端口,监听本地所有IP使用":端口"(支持多个地址,使用","号分隔)
    5. HTTPSAddr string // HTTPS服务监听地址(支持多个地址,使用","号分隔)
    6. HTTPSCertPath string // HTTPS证书文件路径
    7. HTTPSKeyPath string // HTTPS签名文件路径
    8. Handler http.Handler // 默认的处理函数
    9. ReadTimeout time.Duration // 读取超时
    10. WriteTimeout time.Duration // 写入超时
    11. IdleTimeout time.Duration // 等待超时
    12. MaxHeaderBytes int // 最大的header长度
    13. TLSConfig tls.Config
    14. // 静态文件配置
    15. IndexFiles []string // 默认访问的文件列表
    16. IndexFolder bool // 如果访问目录是否显示目录列表
    17. ServerAgent string // Server Agent
    18. ServerRoot string // 服务器服务的本地目录根路径(检索优先级比StaticPaths低)
    19. SearchPaths []string // 静态文件搜索目录(包含ServerRoot,按照优先级进行排序)
    20. StaticPaths []staticPathItem // 静态文件目录映射(按照优先级进行排序)
    21. FileServerEnabled bool // 是否允许静态文件服务(通过静态文件服务方法调用自动识别)
    22. // COOKIE
    23. CookieMaxAge int // Cookie有效期
    24. CookiePath string // Cookie有效Path(注意同时也会影响SessionID)
    25. CookieDomain string // Cookie有效Domain(注意同时也会影响SessionID)
    26. // SESSION
    27. SessionMaxAge int // Session有效期
    28. SessionIdName string // SessionId名称
    29. // IP访问控制
    30. DenyIps []string // 不允许访问的ip列表,支持ip前缀过滤,如: 10 将不允许10开头的ip访问
    31. AllowIps []string // 仅允许访问的ip列表,支持ip前缀过滤,如: 10 将仅允许10开头的ip访问
    32. // 路由访问控制
    33. DenyRoutes []string // 不允许访问的路由规则列表
    34. Rewrites map[string]string // URI Rewrite重写配置
    35. // 日志配置
    36. LogPath string // 存放日志的目录路径(默认为空,表示不写文件)
    37. LogHandler LogHandler // 自定义日志处理回调方法(默认为空)
    38. LogStdPrint bool // 是否打印日志到终端(默认开启)
    39. ErrorLogEnabled bool // 是否开启error log(默认开启)
    40. AccessLogEnabled bool // 是否开启access log(默认关闭)
    41. // 其他设置
    42. NameToUriType int // 服务注册时对象和方法名称转换为URI时的规则
    43. GzipContentTypes []string // 允许进行gzip压缩的文件类型
    44. DumpRouteMap bool // 是否在程序启动时默认打印路由表信息
    45. RouterCacheExpire int // 路由检索缓存过期时间(秒)
    46. }

    配置管理方法

    https://godoc.org/github.com/gogf/gf/g/net/ghttp#Server

    Web Server的配置比较丰富,所有的配置均可在创建ghttp.Server对象后使用SetConfig方法进行统一配置;也可以使用Server对象的Set*/Enable*方法进行特定配置的设置。主要注意的是,配置项在Server执行Start之后便不能再修改。

    常用配置介绍

    关闭路由表打印

    在WebServer启动的时候默认会打印出当前注册的所有路由信息(包括HOOK注册),这对于开发者来说非常有用。如果不想启动时打印路由表信息,可以通过以下方式关闭:

    1. g.Server().SetDumpRouteMap(false)

    此外,我们也可以通过以下方式获取路由表信息(不自动打印),随后我们可以自定义处理:

    1. routes := g.Server().GetRouteMap()