nginx location匹配后proxy_pass給后端server后404 一探
我們先來(lái)看如下一段nginx配置
location /zentaopms { proxy_pass http://127.0.0.1:8282; } location /zentaopms { proxy_pass http://127.0.0.1:8282/; } server { listen 8282; root /home/www/zentaopms/www/; location ~ .php { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
如上代碼中l(wèi)ocation節(jié)點(diǎn)proxy_pass 后相差一個(gè)/
我們來(lái)看一個(gè)具體demo
step1-我們要訪問(wèn)一個(gè)URL http://somehost/zentaopms/index.php 這其實(shí)是禪道的首頁(yè)
step2-如我們使用這個(gè)配置節(jié)
location /zentaopms { proxy_pass http://127.0.0.1:8282; }
那么nginx的錯(cuò)誤日志里面記錄的都是404的錯(cuò)誤
step3-為什么會(huì)發(fā)生404
首先location匹配到后將請(qǐng)求代理到后端8282端口的server,代理到8282 server還是原先的url,此時(shí)到了8282 的server,8282server去/home/www/zentaopms/www/zentaopms/下找index.php并由fastcgi協(xié)議傳送至php中執(zhí)行,但index.php是在www目錄下,因此nginx就直接報(bào)404錯(cuò)誤
step4- / ‘斜杠’
使用了proxy_pass http://127.0.0.1:8282/;,在最后多了一個(gè)/,代表絕對(duì)根目錄,nginx不會(huì)將location中匹配到的路徑代理走。因此代理到8282 server時(shí),路徑變成了 http://somehost/index.php,這樣子交由server 8282去執(zhí)行,可以找到php文件。
author:tomato qq:385817098 tel:******** job:php程序員
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/39405.html
摘要:反向代理模塊何為反向代理接收客戶端請(qǐng)求,并把請(qǐng)求交給后端服務(wù)器處理,后端服務(wù)器處理完成后,響應(yīng)通過(guò)反向代理服務(wù)器返回給客戶端。作為反向代理服務(wù)器經(jīng)常要配置一組服務(wù)器,以實(shí)現(xiàn)負(fù)載均衡。 1、nginx反向代理模塊 何為反向代理?接收客戶端請(qǐng)求,并把請(qǐng)求交給后端服務(wù)器處理,后端服務(wù)器處理完成后,響應(yīng)通過(guò)反向代理服務(wù)器返回給客戶端。反向代理可實(shí)現(xiàn)局域網(wǎng)中的服務(wù)器可被公網(wǎng)中的客戶端訪問(wèn),也可實(shí)...
摘要:前言業(yè)務(wù)野蠻生長(zhǎng)時(shí)期,作為一枚,有運(yùn)營(yíng)過(guò)比較長(zhǎng)的一段時(shí)間。根據(jù)該是否和匹配絕對(duì)是否對(duì)前端返回。開(kāi)發(fā)人力不足以重構(gòu)這個(gè)接口,為了不影響調(diào)用成功率,想都設(shè)置為返回成功之類的狀態(tài)碼記錄慢日志為提高接口的運(yùn)營(yíng)質(zhì)量,同時(shí)也方便定位一些奇怪的問(wèn)題。 前言 業(yè)務(wù)野蠻生長(zhǎng)時(shí)期,作為一枚op,有運(yùn)營(yíng)過(guò)nginx比較長(zhǎng)的一段時(shí)間。期間遇到些小問(wèn)題,這里簡(jiǎn)單做個(gè)總結(jié)記錄,會(huì)不定時(shí)更新: 開(kāi)始扯淡 pr...
摘要:它是一個(gè)高性能的和反向代理服務(wù)器,同時(shí)也可以作為的代理服務(wù)器。如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。 nginx是什么? nginx是俄羅斯人 Igor Sysoev為俄羅斯訪問(wèn)量第二的Rambler.ru站點(diǎn)開(kāi)發(fā)的一個(gè)十分輕量級(jí)的HTTP服務(wù)器。它是一個(gè)高性能的HTTP和反向代理服務(wù)器,同時(shí)也可以作為IMAP/POP3/SMTP的代理服務(wù)器。ngi...
摘要:語(yǔ)法如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過(guò)指令設(shè)置如果請(qǐng)求的文件名不存在,則反向代理到。 location正則寫(xiě)法 一個(gè)示例: location = / { # 精確匹配 / ,主機(jī)名后面不能帶任何字符串 [ configuration A ] } location / { # 因?yàn)樗械牡刂范家?/ 開(kāi)...
摘要:語(yǔ)法如果相對(duì)域名或參數(shù)字符串起作用,可以使用全局變量匹配,也可以使用反向代理。不能返回限速,可以通過(guò)指令設(shè)置如果請(qǐng)求的文件名不存在,則反向代理到。 1. location正則寫(xiě)法 一個(gè)示例: location = / { # 精確匹配 / ,主機(jī)名后面不能帶任何字符串 [ configuration A ] } location / { # 因?yàn)樗械牡刂范家?/ 開(kāi)...
閱讀 1623·2023-04-26 01:36
閱讀 2785·2021-10-08 10:05
閱讀 2835·2021-08-05 09:57
閱讀 1589·2019-08-30 15:52
閱讀 1252·2019-08-30 14:12
閱讀 1376·2019-08-30 11:17
閱讀 3183·2019-08-29 13:07
閱讀 2504·2019-08-29 12:35