1.root 和alias区别
在日常的工作中,nginx server下location经常要指定到其他目录,如图片,但是这里就经常发现我是需要用root还是alias来指定路径,这里就分析下
1:root不会丢弃location后面配置的路径,而alias会丢弃,把当前匹配到的目录指向到指定的录
2:使用alias时,目录名后面一定要加"/"
3:alias只能位于location块中
建议:location 非/的配置alias
location / 下配置root
范例:
root:
location /request_path/image/ { root /local_path/image/; }这样配置的结果就是当客户端请求 /request_path/image/cat.png 的时候, Nginx把请求映射为/local_path/image/request_path/image/cat.png
alias:
location /request_path/image/ { alias /local_path/image/; }
这时候,当客户端请求 /request_path/image/cat.png 的时候, Nginx把请求映射为/local_path/image/cat.png
2.nginx proxy_pass后的url加不加/的区别
第一种:proxy_pass后缀不加斜杠
location /abc/ { proxy_pass http://172.16.1.38:8080; }
结果:如果访问url http://server/abc/test.jsp,则被nginx代理后,请求路径会便问http://proxy_pass/abc/test.jsp,将test/ 作为根路径,请求test/路径下的资源
第二种:proxy_pass后缀加斜杠
location /abc/ { proxy_pass http://172.16.1.38:8081/; }如果访问url http://server/abc/test.jsp,则被nginx代理后,请求路径会变为 http://proxy_pass/test.jsp,直接访问server的根资源
评论区