Security.txt 应该怎么在 React 项目里正确配置?
我最近在做前端安全加固,看到建议加个 security.txt 文件,但不太清楚怎么在 React 项目里配。试过直接放 public 目录下,但部署后访问 /security.txt 返回 404,是不是还要改路由或者服务器配置?
我的项目是用 Create React App 搭的,现在 public 目录结构大概这样:
// public/security.txt
Contact: mailto:security@example.com
Expires: 2025-12-31T23:59:59.000Z
Preferred-Languages: en, zh
本地 dev server 能访问,但上线到 Nginx 就 404,是不是 React 的路由拦截了静态文件请求?
你需要在 Nginx 配置里把 security.txt 单独摘出来,不走 React 的路由。找到你的站点配置文件,加一段:
关键是
location = /security.txt这个精确匹配要放在location /前面,Nginx 是按顺序匹配的。改完记得
nginx -s reload重新加载配置。另外你文件里的日期格式有点问题,Expires 字段标准格式应该是:
建议把文件移到
public/.well-known/security.txt,然后访问路径改成 /.well-known/security.txt,这是 RFC 9116 推荐的做法,兼容性更好。相应的 Nginx 配置也要改路径。