我的知识记录

禁用TRACE和OPTIONS等危险HTTP方法_白名单配置教程_完整配置与验证_经验总结

HTTP方法的安全配置遵循最小权限原则,网站只开放业务必需的方法。绝大多数网站只需要GET(获取页面)和POST(提交表单),HEAD方法用于检查资源状态可以保留,其他方法如果没有明确的业务需求都应该禁用。这项配置改动小、效果明显,是网站安全加固中性价比最高的操作之一。

Tomcat禁用危险HTTP方法在conf/web.xml中配置。通过标签限制HTTP方法:restricted methods/*TRACEOPTIONS。配置后Tomcat会对这些方法返回403。需要注意Tomcat 9及以上版本默认已经禁用了TRACE方法,但OPTIONS方法仍然需要手动禁用。

Apache禁用危险HTTP方法有两种方式。第一种是使用mod_rewrite模块,在.htaccess或httpd.conf中配置:RewriteEngine On,RewriteCond %{REQUEST_METHOD} ^(TRACE|OPTIONS|DELETE|PUT|CONNECT)$ [NC],RewriteRule .* - [F]。这种方式会返回403禁止访问。第二种是使用mod_security模块的SecRule指令,或者使用标签限制特定方法。推荐使用mod_rewrite方式,因为大多数虚拟主机都支持.htaccess。

CONNECT方法用于建立隧道连接,通常只在代理服务器中使用。Web服务器如果支持CONNECT方法,可能被利用作为代理进行攻击或访问内网资源。绝大多数网站不需要CONNECT方法,应该禁用。此外还有PROPFIND、PROPPATCH、MKCOL、COPY、MOVE、LOCK、UNLOCK等WebDAV扩展方法,如果不使用WebDAV都应该一并禁用。

对于使用虚拟主机的站长,如果主机商不允许修改服务器主配置,可以通过.htaccess(Apache)或web.config(IIS)来配置。Nginx虚拟主机通常不支持用户自定义配置,需要联系主机商添加,或者通过CDN层面的WAF规则来拦截危险方法。部分CDN提供了HTTP方法过滤功能,可以在CDN后台配置只允许GET和POST,从入口处拦截危险方法。

真实经历:禁用OPTIONS方法后发现网站的跨域上传功能失效了,排查后发现是CORS预检请求被拦截。后来调整了规则,只对API路径允许OPTIONS,其他路径禁用,既保证了功能正常,又减少了信息泄露面。

配置提醒:修改HTTP方法配置前先确认网站是否有特殊功能依赖这些方法。特别是使用了CORS、RESTful API、WebDAV的网站,需要根据实际情况调整规则,不要一刀切全部禁用,避免影响正常业务。

禁用TRACE和OPTIONS等危险HTTP方法_白名单配置教程_完整配置与验证_经验总结

标签:

更新时间:2026-09-01 15:09:47

上一篇:网站提示504 Gateway Timeout_网关超时解决

下一篇:网站500错误解决方法_Internal Server Error原因分析