我刚刚切换到nginx作为一个静态文件服务器,它适用于绝大多数的文件,但它是在特定字符的某些文件上抛出404。
这是Kevin Worthington在Windows Server 2008 R2上运行的64位nginx版本。
我的nginx.conf条目看起来像这样…
server { server_name example.com; listen 80;location / static / {root / cygdrive / g / Files; 到期30天; }
- nginx上传模块+ rails + pupload(jQuery多重上传插件)多个uplosding之间挂起
- Web服务器redirect到端口80
- Ruby通过FastCGI和NGiNX?
- 为什么nginx在没有configuration域的情况下返回200页?
- nginx不closures环回连接
location / { proxy_pass http://127.0.0.1:8080; } }
错误日志中的条目如下所示…
recvmsg()返回无效的辅助数据级别19或types8 2011/08/19 19:04:22 [error] 3756#0:* 1 open()“/cygdrive/g/Files/static/Pilón.jpg”failed 2:没有这样的文件或目录),客户端:12.168.24.203,服务器:example.com,请求:“GET /static/Pil%F3n.jpg HTTP / 1.1”,主机:“example.com”
如果我抓住错误中引用的path,将反斜杠交换反斜杠,并在那里折腾冒号,然后窗口将从运行菜单打开文件。 其他文件在同一个文件夹,但不包含特殊字符工作得很好。
似乎有一个与Unicode版本的nginx unicode字符的错误。 在nginx maillist中提出了一些解决方法 ,试试吧。