windows下nginx代理地址存在\r\n\t被转义,500

204 阅读1分钟

现象

今天在本地的环境中nginx代理访问静态页面,发现一直500 错误,页面如下

image.png

查看error.log 发现

2023/02/16 11:59:56 [crit] 17192#17196: *13 CreateFile() "D:\aa\src\main
esources\static/assets/js/DateUtil.js" failed (123: The filename, directory name, or volume label syntax is incorrect), client: 127.0.0.1, server: test.xports.cn, request: "GET /assets/js/DateUtil.js HTTP/1.1", host: "localhost:8080";

竟然换行了,而且我的r也不见了

nginx配置是下边的

location ~ /assets/(js|css|fonts)/ {
	        root  D:\aa\src\main\resources\static;
	        #expires 30d;
	        #return 200 'hello';
        }

这里记录下^~匹配虽然优先,但是是不能匹配正则的

解决方法

遇到\r\n\t这些字符串时候,使用反斜杠,如D:\aa\src\main/resources\static

记得看error.log