侧边栏壁纸
博主头像
爱运维 博主等级

行动起来,活在当下

  • 累计撰写 197 篇文章
  • 累计创建 143 个标签
  • 累计收到 21 条评论

目 录CONTENT

文章目录

关于两个nginx经常忽略的细节

Administrator
2018-04-16 / 0 评论 / 0 点赞 / 1 阅读 / 0 字

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的根资源







0

评论区