鍍金池/ 問(wèn)答/Python  Linux/ Django使用nginx做反向代理的時(shí)候,跳轉(zhuǎn)的URL不正確

Django使用nginx做反向代理的時(shí)候,跳轉(zhuǎn)的URL不正確

有一臺(tái)機(jī)器(172.17.118.208)對(duì)外映射,nginx做反向代理

location /devops/{          
            proxy_pass http://172.17.118.207:8002/;
        }

訪問(wèn)172.17.118.208/devops/正常訪問(wèn),但是點(diǎn)擊提交或者url連接/devops就沒(méi)了,導(dǎo)致所有連接都是404

回答
編輯回答
柒槿年

如果代碼里寫(xiě)了絕對(duì)路徑,基本上沒(méi)救的,不能這么用
絕對(duì)路徑是什么,比如

<a href="/search">
<img src="/images/a.jpg">

若干個(gè)解決方案:

  1. 源站修改,把所有絕對(duì)路徑改為相對(duì)路徑(估計(jì)會(huì)被開(kāi)發(fā)打死)
  2. 源站修改,在網(wǎng)站根目錄前加上/devops
  3. 源站修改,給所有資源加上域名,nginx做替換
  4. nginx去掉/devops/,改為location /反代
2017年6月20日 10:10