nginx 设置 contenttype
时间: 2023-09-21 15:12:42 浏览: 103
在Nginx中,可以通过修改配置文件来设置Content-Type。默认情况下,Nginx根据`/etc/nginx/mime.types`文件中的类型设置Content-Type。然而,有时候需要根据实际需要指定Content-Type。比如,在下载文件时,如果按照mime.types中的定义,浏览器会直接显示图片而不是下载文件。可以通过设置`add_header`来实现指定Content-Type的需求。例如,在`location`块中添加以下配置来设置Content-Type为`application/octet-stream`:
```
location /download {
add_header Content-Type application/octet-stream;
}
```
然而,这样做会导致响应中存在两个Content-Type,一个是根据mime.types设置的,另一个是通过add_header设置的。为了避免这个问题,可以使用`types{}`指令取消默认的Content-Type并重新指定所需要的Content-Type。例如:
```
location /download {
types { }
default_type application/octet-stream;
}
```
通过这种方式,可以根据需要对Content-Type进行设置。注意,还可以使用正则匹配对特定的`location`进行设置,以返回特定的Content-Type。例如,可以在单独的配置块中为特定的文件设置Content-Type。例如:
```
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 application/json;
}
}
```
通过以上配置,针对`.well-known/apple-app-site-association`路径的请求,会设置Content-Type为`application/json`。
总结来说,Nginx可以通过在配置文件中设置`add_header`或者使用`types{}`指令来设置Content-Type参数,从而满足实际需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
阅读全文