nginx 如何添加文件 md5 响应信息

边缘云CDN与加速技术服务知识库
问题背景

nginx 作为广泛使用的 web 服务,同时整体采用模块化设计是Nginx的一个重大特点。当我们需求我们访问文件需要响应文件的 md5 值作为http的一个响应头部,需要如何进行配置。

解决方案

目前 nginx 没有提供文件 MD5 值的模块,采用比较流行的方式是使用第三方文件 MD5 模块。 使用的第三方模块地址为:

https://github.com/mikewest/nginx-static-etags

nginx 编译

使用第三方模块,我们需要对nginx 进行重新编译并携带对应的模块。

下载nginx 及file-md5 插件

  cd /usr/local/src
  wget https://github.com/cfsego/file-md5/archive/master.zip -O file-md5-master.zip
  unzip file-md5-master.zip

编译nginx 1.18.0

wget http://nginx.org/download/nginx-1.18.0.tar.gz 
tar zxvf nginx-1.18.0.tar.gz 
cd nginx-1.18.0
# 编译 file-md5 模块
./configure --prefix=/usr/local/nginx-1.4.2 --add-module=../file-md5-master
 make & make isntall

添加 Content-MD5 响应

vim /usr/local/nginx/conf/nginx.conf 
        location / {
            root   html;
            index  index.html index.htm;
              add_header    Content-MD5  $file_md5;
```
`
### 测试结果
```bash
# 启动nginx 
./usr/local/nginx/sbin/nginx 
```

通过curl进行测试,Content-MD5 可以正常被响应。md5值也与本地测算相同。
![图片](https://lf6-volc-editor.volccdn.com/obj/volcfe/sop-public/upload_88abe17c69c2a83f0bbc3ebb7f22333c.png)
**如果您有其他问题,欢迎您联系火山引擎**[技术支持服务](https://console.volcengine.com/ticket/createTicketV2/)


104
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论