webman做為API服務(wù),前端使用VUE,部署的時(shí)候使用Nginx代理API服務(wù),有些資源圖片是通過(guò)后臺(tái)上傳的,路徑為 /app/admin/upload/img/xxx.png
部署使用寶塔添加站點(diǎn),類(lèi)型選為Static,其中 URL rewrite 配置如下
# 真實(shí)IP
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
# API接口
location /public/api {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /private/api {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 靜態(tài)資源
location /app/admin {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /upload {
proxy_pass http://127.0.0.1:8888;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
這時(shí)如果不注釋 Config 配置中的
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}
location ~ .*\.(js|css)?$
{
expires 12h;
error_log /dev/null;
access_log off;
}
訪問(wèn)圖片就404,注釋后才能正常訪問(wèn)圖片
找了一些相關(guān)資料都沒(méi)有明白其中的問(wèn)題,煩請(qǐng)大佬解答一下
nginx 匹配優(yōu)先級(jí)的問(wèn)題,
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}這個(gè)優(yōu)先級(jí)比location /{
}高,匹配到前面就匹配不到后面了,靜態(tài)資源代理可使用 location ^~ /upload {
},提高優(yōu)先級(jí)