webman做為API服務(wù),前端使用VUE,部署的時候使用Nginx代理API服務(wù),有些資源圖片是通過后臺上傳的,路徑為 /app/admin/upload/img/xxx.png
部署使用寶塔添加站點,類型選為Static,其中 URL rewrite 配置如下
# 真實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;
}
這時如果不注釋 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;
}
訪問圖片就404,注釋后才能正常訪問圖片
找了一些相關(guān)資料都沒有明白其中的問題,煩請大佬解答一下
nginx 匹配優(yōu)先級的問題,
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
error_log /dev/null;
access_log off;
}這個優(yōu)先級比location /{
}高,匹配到前面就匹配不到后面了,靜態(tài)資源代理可使用 location ^~ /upload {
},提高優(yōu)先級