背景
公司在和QQ进行合作,需要通过特殊文件来进行相关校验和认证。之前其他第三方提供的是 txt 结尾的文本文件,但是苹果系统相关是通过一个apple-app-site-association
的文件来校验的,注意这里没有文件后缀,在QQ侧请求的之后无法校验,是因为Header中的Content-Type不符合规范
分析及处理
1、Nginx安装之后 default_type的值默认配置为 application/octet-stream
,而且目前已经配置很多域名,贸然的去修改这样的全局配置,可能应发不可用的问题
2、txt结尾的文件,放到网站根目录下默认会被识别响应为 text/plain
3、但是今天反馈的文件是没有后缀的,所以默认就成了 application/octet-stream
, 浏览器请求会直接进行下载,而不是展示文件内容
4、针对该文件进行单独的配置,如下
server {
include local_ssl_port.conf;
include ssl/ssl.conf;
server_name xxx.colinspace.com;
root /data/project/blog;
include expires.conf;
location /.well-known/apple-app-site-association {
# 这里单独针对性的配置 default_type 为对方要求的格式
default_type application/json;
}
}
5、再次浏览器测试,展示为文件内容
如果对你有帮助,还希望不吝点赞
另外可以关注个人公众号 全栈运维
,不定期更新文章哈 ~
网友评论