利用nginx將前端請(qǐng)求代理到本地服務(wù)器

在日常開發(fā)過(guò)程中,方便的我們測(cè)試服務(wù)端的代碼,我們可以將前端服務(wù)器的請(qǐng)求代理到本地。首先,我們抓一個(gè)前端訪問(wèn)的請(qǐng)求進(jìn)行分析

http://a.dev.b.com/c/api/d/e/f?pageNO=1&pageSize=10

從這個(gè)請(qǐng)求中我們可以發(fā)現(xiàn),我們需要代理的域名是:http://a.dev.b.com/ ,看一眼本地的代碼

@RequestMapping("/api/d/e")

也就是說(shuō),/api/d/e/f 是服務(wù)器端可以識(shí)別的。c只是一個(gè)虛擬的路徑,需要被nginx映射掉。好了,分析結(jié)束,開始搞起來(lái)了。首先配置本地的hosts文件。增加配置,將http://a.dev.b.com/ 映射到本地

127.0.0.1  a.dev.b.com 

隨后配置nginx.conf文件,增加代理。


    server {
        listen       80;
        server_name  a.dev.b.com;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        location /c {
            proxy_pass http://localhost:9999/;
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header        X-Read-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

監(jiān)聽(tīng)http://a.dev.b.com/的80端口,如果有請(qǐng)求過(guò)來(lái),并且鏈接中帶有c,就將此請(qǐng)求轉(zhuǎn)發(fā)到本地的9999端口,這個(gè)對(duì)應(yīng)的就是我們自己的服務(wù)。

image2017-1-19 15-35-15.png

然后前端服務(wù)器的請(qǐng)求就轉(zhuǎn)發(fā)到了本地的服務(wù)器上,方便我們本地調(diào)試了。

這里有一個(gè)小說(shuō)明就是proxy_pass配置說(shuō)明,proxy_pass轉(zhuǎn)發(fā)的路徑后是否帶 “/”,是影響你正常跳轉(zhuǎn)的一個(gè)方面。例如

例1
location /test/
{
proxy_pass http://test:8080;  
}
例2
location /test/  
{  
proxy_pass http://test:8080/;  
 } 

針對(duì)情況1,如果訪問(wèn)url = http://server/test/test.jsp,則被nginx代理后,請(qǐng)求路徑會(huì)便問(wèn)http://proxy_pass/test/test.jsp,將test/ 作為根路徑,請(qǐng)求test/路徑下的資源
針對(duì)情況2,如果訪問(wèn)url = http://server/test/test.jsp,則被nginx代理后,請(qǐng)求路徑會(huì)變?yōu)?http://proxy_pass/test.jsp,直接訪問(wèn)server的根資源.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 上一篇《WEB請(qǐng)求處理一:瀏覽器請(qǐng)求發(fā)起處理》,我們講述了瀏覽器端請(qǐng)求發(fā)起過(guò)程,通過(guò)DNS域名解析服務(wù)器IP,并建...
    七寸知架構(gòu)閱讀 81,756評(píng)論 21 356
  • Page 1:nginx 服務(wù)器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,680評(píng)論 1 41
  • 第一章 Nginx簡(jiǎn)介 Nginx是什么 沒(méi)有聽(tīng)過(guò)Nginx?那么一定聽(tīng)過(guò)它的“同行”Apache吧!Ngi...
    JokerW閱讀 33,019評(píng)論 24 1,002
  • 自昨日與他爭(zhēng)吵,便是久久的惆悵。自知理虧,卻也不知如何解釋。想來(lái)也是狠狠地傷了他的心??v然愛(ài)我入骨,又怎禁得住這般...
    玄鯉清閱讀 258評(píng)論 0 0

友情鏈接更多精彩內(nèi)容