煅汾付 发表于 2025-8-6 14:44:03

Goframe框架SetFileServerEnabled关闭静态服务不生效

按照goframe文档静态文件服务配置这一节中介绍的这段通过SetFileServerEnabled关闭了静态服务,所有静态文件/目录的访问都将失效,实际使用过程中发现并没有生效
s.SetFileServerEnabled(false)在检查goframe源码后发现原因,在gttp包的gttp_server.go文件,约第130行中,有这样一行代码
s.AddStaticPath(s.config.SwaggerPath, swaggerUIPackedPath)而AddStaticPath方法会将s.config.FileServerEnabled重新设置成true,导致就算我们使用了s.SetFileServerEnabled(false),也无法达到关闭静态文件的效果。想生效,需要满足两个条件。

[*]必须在SetServerRoot、AddSearchPath、AddStaticPath这些方法调用后的地方使用s.SetFileServerEnabled(false)
[*]配置文件里SwaggerPath不要设置,也不要使用SetSwaggerPath

来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除
页: [1]
查看完整版本: Goframe框架SetFileServerEnabled关闭静态服务不生效