Nginx:设置响应header的content-type

Nginx默认依据mime.types文件设定content-type,但有时需按需指定,如下载场景。若直接使用add_header设置Content-Type,可能会导致响应中出现多个content-type。解决方法是使用types块清除默认值,并通过default_type设定所需content-type,如在/download路径下,设置default_type application/octet-stream确保文件被作为二进制流下载。

Nginx通常根据/etc/nginx/mime.types文件中类型设置content-type

有时需要根据实际需要指定content-type,比如对于下载,如果按照mime.types里面的定义:

image/jpeg                            jpeg jpg;

那么当下载图片时,浏览器会在窗口内直接显示图片,而不是另存为文件 。

通过设置add_header:

location /download {

        add_header Content-Type application/octet-stream;

}

 会导致响应中有两个content-type,一个是image/jpeg,另一个是application/octet-stream

其实可以通过types{ }取消默认content-type,然后再指定需要的content-type:

location /download {

        types { }

        default_type application/octet-stream;

}

 如果需要可以对location进行正则匹配,这样可以根据需要返回响应头Content-Type

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静地躺着

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值