nginx proxy_pass末尾神奇的斜線
http://chenwenming.blog.51cto.com/327092/1203537
在nginx中配置proxy_pass時,當在後面的url加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走。
下面四種情況分別用http://192.168.1.4/proxy/test.html 進行訪問。
第一種:
location /proxy/ {
proxy_pass http://127.0.0.1:81/;
}
會被代理到http://127.0.0.1:81/test.html 這個url
第二咱(相對於第一種,最後少一個 /)
location /proxy/ {
proxy_pass http://127.0.0.1:81;
}
會被代理到http://127.0.0.1:81/proxy/test.html 這個url
第三種:
location /proxy/ {
proxy_pass http://127.0.0.1:81/ftlynx/;
}
會被代理到http://127.0.0.1:81/ftlynx/test.html 這個url。
第四種情況(相對於第三種,最後少一個 / ):
location /proxy/ {
proxy_pass http://127.0.0.1:81/ftlynx;
}
會被代理到http://127.0.0.1:81/ftlynxtest.html 這個url
上面的結果都是本人結合日誌檔案測試過的。從結果可以看出,應該說分為兩種情況才正確。即http://127.0.0.1:81 (上面的第二種) 這種和 http://127.0.0.1:81/.... (上面的第1,3,4種) 這種。
-----------------------------------------------------------------------------------------nginx proxy_pass末尾神奇的/
http://backend;和http://backend/
location /service/ {
proxy_pass http://backend;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
如果換成下面這樣,會報錯:
location ~ ^/(service)/ {
proxy_pass http://backend/;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
"proxy_pass" may not have URI part in location given by regular expression, or inside named location, or inside the "if" statement, or inside the "limit_except" block in nginx.conf:
但是,這樣就沒問題了:
location ~ ^/(service)/ {
proxy_pass http://backend;
proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
}
把proxy_pass末尾的斜線去掉,就可以了。
相關推薦
nginx proxy_pass末尾神奇的斜線
http://chenwenming.blog.51cto.com/327092/1203537 在nginx中配置proxy_pass時,當在後面的url加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配
nginx proxy_pass和rewrite的區別
nginx proxy_pass和rewrewritesyntax: rewrite regex replacement [flag] Default: — Context: server, location, if如果正則表達式(regex)匹配到了請求的URI(request URI),這個URI會被後面
nginx proxy_pass後的url加不加/的區別
lynx com 訪問 .html http 但是 51cto ftl 公司 在nginx中配置proxy_pass時,當在後面的url加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;如果沒有/,則會把匹配的路徑部分也給代理走。
tengine 末尾反斜線問題
lan gin hit sim 一個 int 斜杠 ane 再次 https://github.com/alibaba/tengine/issues/407當nginx配置裏location有最後一個斜杠,並且訪問url不帶/,nginx會自動進行301跳轉到帶斜杠的url
Nginx Proxy_pass簡述
tro 一個 ngx nginx ofo 三種 基本 ext time Nginx 中 proxy_pass簡述 nginx配置大家耳熟能詳,網上資料也一大堆,但為了方便,還是要不厭其煩的寫一寫。 proxy_pass為代理轉發模塊,主要功能是把請求轉發到其它服務。 當使
nginx配置proxy_pass URL末尾加與不加/(斜線)的區別
gin clas 末尾 jpg 127.0.0.1 proxy 技術 div str nginx在配置proxy_pass的時候 URL結尾加斜線(/)與不加的區別和註意事項 假設訪問路徑的 /pss/bill.html 加/斜線的情況 location /pss
小牛帶你nginx反向代理中神奇的斜線
方法 測試 ref 結果 原理 一次 觀察 服務器 bar 在進行nginx反向代理配置的時候,location和proxy_pass中的斜線會造成各種困擾,有時候多一個或少一個斜線,就會造成完全不同的結果,所以特地將location和proxy_pass後有無斜線的情況進
window下nginx目錄斜線轉義問題
轉義 gin specified log spec 目錄 特殊 ima 導致 找了半天,找不到啥原因導致nginx狂呼:“No input file specified.” 原來是windows下的路徑特殊符號問題\r\n\t之類的要註意了 window下nginx目錄斜線
Nginx之 proxy_pass實現代理 小記
location proxy_pass 反向代理Nginx之 proxy_pass 小記1.環境介紹:Nginx :開啟80端口訪問Apache :開啟兩個虛擬主機分別是 端口88 、端口 89 2.配置文件:Apahce虛擬主機<VirtualHost *:89> DocumentRoot
nginx.conf配置文件解析(http、server、location proxy_pass)
static 如果 優先 max 關閉 logs ima use 顯示不正常 nginx.conf配置文件解析(http、server、location) 標簽: nginxnginx-conf 2017-04-26 20:10 1031人閱讀 評論(0)
nginx裏proxy_pass有無/的區別
src 請求 apple mage gin connect 改變 dex otto nginx在反向代理的時候,proxy_pass需要指定路徑,有無"/"的區別,如下: location /lile { 配置一: proxy_pass http://
神奇的Nginx之常用設置
競爭 expires fast stat htpasswd html all 日常 local 引言 nginx軟件十分小巧,較其競爭對手Apache而言,nginx可以實現的功能更為豐富,配置更為簡單。Nginx采用多線程方式,對服務器內存大小要求不像apache那些高,
神奇的nginx之https支持
神奇 安裝 com info protocol ins -o 生成 分享圖片 引言 隨著技術的方法,http傳輸協議並不能保證數據傳輸的安全性,隨後https技術應運而生,nginx服務器支持https協議,配置的代碼也比較難記,記錄下以防遺忘。 HTTPS數據傳輸過程
轉:NGINX中的proxy_pass和rewrite
http狀態碼 gin cep itl def rem 參數 nta bre 章作者:luxianghao 文章來源:http://www.cnblogs.com/luxianghao/p/6807081.html 轉載請註明,謝謝合作。 免責聲明:文章內容僅代表個人觀點
雲服務上使用神奇的nginx --with-stream模塊開啟mysql外網地址
nginx --with-stream模 因為有時候有那麽一個需求,需要雲數據庫開放外網地址,但是有個別雲運營商是沒有提供這個操作的,經過幾番頭腦風暴後,想起了nginx上又一個--with-stream模塊可以把內網ip端口映射到外網地址去!這不就解決了這個需求啦嗎!!!首先查看nginx有沒有這個模
nginx 反向代理 proxy_pass 及對比nginx與haproxy反向代理服務器功能、性能的優劣
端口 mes ken 對比 http TP 靜態 thread post 1.使用 proxy 去請求另一個域名下的資源,如果跨域資源也部署在同一臺機器上,我們甚至可以 proxy 到 127.0.0.1,比如: location /api { proxy_pas
Nginx配置proxy_pass轉發的/路徑問題
test href 配置 註意 com 沒有 分代 oca http 在nginx中配置proxy_pass時,如果是按照^~匹配路徑時,要註意proxy_pass後的url最後的/,當加上了/,相當於是絕對根路徑,則nginx不會把location中匹配的路徑部分代理走;
nginx 代理 proxy_pass /etc/hosts
在專案總遇到這樣一個需求:需要將nginx作為代理使用,在nginx.conf檔案中配置了proxy_pass到目標網址,如下: proxy_pass http://$host;(A配置) 其中域名使用了變數,並且目標域名和ip地址的對應關係儲存在本機的/etc/hosts檔案中
nginx 之 proxy_pass詳解
在nginx中配置proxy_pass代理轉發時,如果在proxy_pass後面的url加/,表示絕對根路徑;如果沒有/,表示相對路徑,把匹配的路徑部分也給代理走。 第一種: location /proxy/ { proxy_pass http:/
[轉]nginx學習-proxy_pass
一、proxy_pass的nginx官方指南 nginx中有兩個模組都有proxy_pass指令。 ngx_http_proxy_module的proxy_pass: 語法: proxy_pass URL; 場景: location, if in locatio