nginx location 總結(jié)

匹配之前渣玲,URL會(huì)被預(yù)處理
  • 解碼
  • 將包含.和..的相對(duì)路徑去除
  • 將//兩條斜線合并成一條/
匹配規(guī)則
  • 前綴字符串基茵,正則表達(dá)式,兩種location
    • ~*不區(qū)分大小寫
    • ~區(qū)分大小寫
  • 掃描所有prefix strings, remember this longest
  • 掃描所有regular expression, 匹配則停止
  • 如果沒(méi)有regular expression匹配怠堪,最長(zhǎng)前綴匹配的location將被使用
特例情況
  • 如果最長(zhǎng)前綴location使用^~作為修飾符乌昔,則不再掃描正則表達(dá)式
  • 如果prefix strings使用=作為修飾符,并且完成匹配尾组,則不再掃描其他location
nginx_location.png
場(chǎng)景舉例

簡(jiǎn)介: 這個(gè)是一個(gè)前后端分開部署的項(xiàng)目忙芒,前端是SPA,其中有些js靜態(tài)文件是來(lái)自后端讳侨,nginx需要分清楚哪些是后端路由呵萨,哪些是前端路由,哪些是靜態(tài)文件路徑跨跨。

  1. 靜態(tài)文件潮峦。BASE_PATH/static (前端打包后的js,css,images以及各個(gè)模塊的js文件,通過(guò)http://host/static/xxx訪問(wèn))
  2. 前端路由。包含一些請(qǐng)求路徑
  • /template/edit/1
  • taskflow/home/1/
  • ...
  1. 后端路由勇婴〕类冢可窮舉
  • /static/core/js/paas_api.js
  • /jsi18n/gcloud/
  • ...
upstream sops_server {
    server sops:8000;
}

server {

    listen 80;
    server_name stage.xxx.com;
    root /app/bk-sops/static/stage/dist/;
    index index.html;
    access_log /app/nginx_log/access.log;
    error_log /app/nginx_log/error.log;

    location / {
        root /app/bk-sops/;
        index index.html;
        rewrite ^/.*$ /index.html break;
    }

    location /static/ {
        root /app/bk-sops/;
    }

    location ~ (/static/core/js/paas_api.js|account/|jsi18n|api|core/api|config/api|apigw|common_template/api|template/api/|taskflow/api/|appmaker/|pipeline/|analysis/|periodictask/api/) {
        proxy_pass http://sops_server;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_redirect off;
    }

}
  1. 后端路徑可窮舉,在整個(gè)server block里面不使用精準(zhǔn)匹配和修飾符^~的情況下咆耿,正則表達(dá)式的優(yōu)先級(jí)最高德谅,因此第三個(gè)location列出所有后端路由
  2. 靜態(tài)文件使用第二個(gè)location,最長(zhǎng)prefix strings
  3. 其他的前端路由被重定向到index.html
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萨螺,一起剝皮案震驚了整個(gè)濱河市窄做,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呵俏,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡掏颊,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門艾帐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)乌叶,“玉大人,你說(shuō)我怎么就攤上這事柒爸∽荚。” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵捎稚,是天一觀的道長(zhǎng)乐横。 經(jīng)常有香客問(wèn)我求橄,道長(zhǎng),這世上最難降的妖魔是什么葡公? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任罐农,我火速辦了婚禮,結(jié)果婚禮上催什,老公的妹妹穿的比我還像新娘涵亏。我一直安慰自己,他們只是感情好蛆楞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布溯乒。 她就那樣靜靜地躺著夹厌,像睡著了一般豹爹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矛纹,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天臂聋,我揣著相機(jī)與錄音,去河邊找鬼或南。 笑死孩等,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的采够。 我是一名探鬼主播肄方,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蹬癌!你這毒婦竟也來(lái)了权她?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逝薪,失蹤者是張志新(化名)和其女友劉穎隅要,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體董济,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡步清,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虏肾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片廓啊。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖封豪,靈堂內(nèi)的尸體忽然破棺而出谴轮,到底是詐尸還是另有隱情,我是刑警寧澤撑毛,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布书聚,位于F島的核電站唧领,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏雌续。R本人自食惡果不足惜斩个,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望驯杜。 院中可真熱鬧受啥,春花似錦、人聲如沸鸽心。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)顽频。三九已至藤肢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間糯景,已是汗流浹背嘁圈。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蟀淮,地道東北人最住。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怠惶,于是被迫代替她去往敵國(guó)和親涨缚。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容