nginx搭建文件下载服务器无法显示和下载中文文件

发布时间 2024-01-10 16:27:53作者: dph

背景:

想自己搭建一个下载文件服务器,网上很多教程,就跟着做了,搭建的过程中碰到了如下的几个问题,在这里记录一下,以免后面忘记了

问题:

1.路径分隔符/和\的问题.在写alias的时候是直接粘贴的windows的路径,因此默认是\,后面发现有问题,后面就切换成/就可以了
2.location块后的路径以及配合下面的alias的问题:
假如监听的是8000端口 location块后是/source,alias后配置的路径是: d:/temp.那你的路径如果是这样: http://127.0.0.1:8000/source/test.txt
就代表,到d:/temp下找叫test.txt的文件.说这个的意思是可以把前面的http://127.0.0.1:8000/source 替换成d:/temp.这样就好理解了.替换后的路径就是这样d:/temp/test.txt 这个就是我们在本机上访问这个test.txt文件的绝对路径么.
假如d:/temp下有个文件夹demo,demo里有个文件叫test2.txt那通过nginx访问这个test2.txt的路径就是:http://127.0.0.1:8000/source/demo/test2.txt.之所以记录这个是我刚开始老是搞不清楚这个路径的问题,经常配置后想要访问文件的时候老是404
3.windows系统搭建nginx下载服务器无法识别中文路径名称,报500.:
这个问题其实能大致猜到原因,肯定是乱码的原因.我们的系统默认字符集应该都是GBK,而一般浏览器用的是utf-8.因此,解决办法就是是把我们的nginx下载服务器配置成使用utf-8编码,并且把windows设置成默认utf-8编码
(1)nginx配置utf-8编码:

server和location下都要加
(2)更改windows系统的设置:

有感:

nginx真的太强大了!!!特别是他的stream模块的代理功能!简直了!后面再总结!