Nginx反向代理靜態(tài)文件并修改路徑方式
Nginx反向代理靜態(tài)文件并修改路徑
Nginx 配置想要將 /a/b/
的請(qǐng)求代理到本地目錄 /abc/
下的文件??梢栽?Nginx 配置中使用 alias
指令來(lái)指定一個(gè)本地路徑作為代理目標(biāo)。
server { listen 8080; location / { proxy_pass http://192.168.1.100:8080; } location /a/b/ { alias /abc/; try_files $uri $uri/ /index.html; } }
解釋和注意事項(xiàng):
location /a/b/
:這里配置了一個(gè) location 塊,用于匹配以/a/b/
開(kāi)頭的請(qǐng)求。alias /abc/;
:使用 alias 指令指定了本地路徑/abc/
作為代理目標(biāo)。當(dāng)匹配到/a/b/
的請(qǐng)求時(shí),Nginx 將會(huì)將這些請(qǐng)求映射到本地目錄/abc/
。try_files $uri $uri/ /index.html;
:這里使用了try_files
指令,用于嘗試查找對(duì)應(yīng)的文件。如果請(qǐng)求的文件不存在,則會(huì)返回/index.html
。
注意:
- 在使用
alias
指令時(shí),結(jié)尾的斜杠/
是重要的,確保路徑設(shè)置正確。 - 需要確保 Nginx 對(duì)
/a/b/
的訪問(wèn)權(quán)限和路徑配置正確,以及本地目錄/abc/
中包含所需的靜態(tài)文件或資源。 - 配置完成后,重啟或重新加載 Nginx,然后嘗試訪問(wèn)
/a/b/
下的資源,它應(yīng)該會(huì)被代理到本地目錄/abc/
中的對(duì)應(yīng)文件。
Nginx反向代理+路徑重寫(xiě) 配置
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; # 訪問(wèn)方式:http://127.0.0.1/1/ng1/ --> http://127.0.0.1:82 這里和方式二主要區(qū)別在于rewrite和proxy_pass的位置。 location ~ /ng1/ { proxy_pass http://127.0.0.1:81; rewrite "^/(.*)/ng1\/(.*)$" /$2 break; } # 訪問(wèn)方式:http://127.0.0.1/1/ng2/ --> http://127.0.0.1:82 location ~ /ng2/ { rewrite "^/(.*)/ng2/(.*)$" /$2 break; proxy_pass http://127.0.0.1:82; } # 訪問(wèn)方式:http://127.0.0.1/ng3/ --> http://127.0.0.1:83 location /ng3/ { rewrite ^/ng3/(.*)$ /$1 break; proxy_pass http://127.0.0.1:83; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
通過(guò)Nginx反向代理實(shí)現(xiàn)IP訪問(wèn)分流的示例代碼
本篇文章主要介紹了通過(guò)Nginx反向代理實(shí)現(xiàn)IP訪問(wèn)分流的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析
這篇文章主要為大家介紹了Nginx?Tomcat負(fù)載均衡動(dòng)靜分離原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10使用Nginx解決跨域訪問(wèn)問(wèn)題的完整案例
在現(xiàn)代的Web開(kāi)發(fā)中,跨域訪問(wèn)是一種常見(jiàn)的需求,由于瀏覽器的同源策略,不同域名之間的訪問(wèn)存在一定的限制,本文將介紹如何使用Nginx來(lái)解決跨域訪問(wèn)的問(wèn)題,并通過(guò)一個(gè)完整的實(shí)例來(lái)展示,需要的朋友可以參考下2024-03-03Nginx反向代理后無(wú)法獲取客戶端真實(shí)IP地址
本文主要介紹了Nginx反向代理后無(wú)法獲取客戶端真實(shí)IP地址,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Nginx之rewrite實(shí)現(xiàn)URL重寫(xiě)方式
文章介紹了Nginx的rewrite模塊,包括其重要性、相關(guān)指令(如set、if、break、return、rewrite)的使用方法和作用域,并舉例說(shuō)明了這些指令的實(shí)際應(yīng)用場(chǎng)景,如域名重定向和防盜鏈處理2025-03-03Nginx實(shí)現(xiàn)基于請(qǐng)求頭的訪問(wèn)控制配置的示例
在Nginx中,可以使用"allow"和"deny"指令來(lái)實(shí)現(xiàn)IP訪問(wèn)限制,本文給大家介紹Nginx實(shí)現(xiàn)基于請(qǐng)求頭的訪問(wèn)控制配置,感興趣的朋友一起看看吧2023-11-11Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項(xiàng),需要的朋友可以參考下2016-04-04Nginx實(shí)現(xiàn)if多重判斷配置方法示例
這篇文章主要介紹了Nginx實(shí)現(xiàn)if多重判斷配置方法示例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05