Nginx - location常見配置指令,alias、root、proxy_pass

一、【alias】——別名配置,用於訪問文件系統,在匹配到location配置的URL路徑後,指向【alias】配置的路徑。如:html

location /test/ 
{ 
    alias/first/second/img/; 
}

即:請求/test/1.jpg(省略了協議與域名),將會返回文件/first/second/img/1.jpg。nginx

 

二、【root】——根路徑配置,用於訪問文件系統,在匹配到location配置的URL路徑後,指向【root】配置的路徑,並把location配置路徑附加到其後。如:後端

location /test/ 
{ 
    root /first/second/img/; 
}

即:請求/test/1.jpg(省略了協議與域名),將會返回文件/first/second/img/test/1.jpg,相較於alias,使用root會把/test/附加到根目錄以後。服務器

 

三、【proxy_pass】——反向代理配置,用於代理請求,適用於先後端負載分離或多臺機器、服務器負載分離的場景,在匹配到location配置的URL路徑後,轉發請求到【proxy_pass】配置的URL,是否會附加location配置路徑與【proxy_pass】配置的路徑後是否有"/"有關,有"/"則不附加,如:spa

location /test/ 
{ 
    proxy_pass http://127.0.0.1:8080/; 
}

即:請求/test/1.jpg(省略了協議與域名),將會被nginx轉發請求到http://127.0.0.1:8080/1.jpg(未附加/test/路徑)。代理

 

location /test/ 
{ 
    proxy_pass http://127.0.0.1:8080; 
}

即:請求/test/1.jpg(省略了協議與域名),將會被nginx轉發請求到http://127.0.0.1:8080/test/1.jpg(附加/test/路徑)。code

 

location /proxy/ {
    proxy_pass http://127.0.0.1/aaa/;
}

代理到URL:http://127.0.0.1/aaa/test.htmlhtm

 

location/test/ 
{ 
    proxy_pass http://127.0.0.1:8080/img; 
}

即:請求/test/1.jpg(省略了協議與域名),將會被nginx轉發請求到http://127.0.0.1:8080/img1.jpg(未附加/test/路徑,但附加了/test/以後的路徑)。blog

相關文章
相關標籤/搜索