Nginx配置无关联文件路径返回指定JSON字符串的问题
Nginx配置解决.well-known/matrix/server 404问题
你当前的配置出现404,大概率是匹配优先级或语法细节导致的,按以下方式调整即可解决:
修正后的配置
location = /.well-known/matrix/server { default_type application/json; return 200 '{"m.server": "example.com:443"}'; }
关键调整说明
- 用
=做精确路径匹配:这是Nginx优先级最高的匹配规则,能确保该请求不会被其他宽泛的location块(比如处理静态文件的location /)拦截——即便你的配置是第一个块,没有精确匹配的话,后续通用匹配块仍可能优先处理请求导致404。 - 简化JSON写法:直接用单引号包裹JSON内容,内部双引号无需转义成
",Nginx可正常解析该格式。 - 移除冗余的
add_header:default_type已经指定了Content-Type为application/json,重复设置无必要。
额外排查项
如果调整后仍出现404,检查以下内容:
- 确认配置所在的
server块是绑定example.com的那个,避免配置到未生效的server块中。 - 修改配置后执行
nginx -s reload重新加载Nginx,确保配置生效。 - 检查全局配置中是否有rewrite规则提前拦截了
/.well-known/路径的请求。
内容的提问来源于stack exchange,提问作者John554
相关产品推荐
相关产品推荐

