国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

Nginx服務器的反向代理proxy

2024-08-30 12:22:38
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Nginx服務器的反向代理proxy_pass配置方法講解,包括經常被提到的url的/問題的相關說明,需要的朋友可以參考下

就普通的反向代理來講
Nginx的配置還是比較簡單的,如:

location ~ /* {proxy_pass http://127.0.0.1:8008;}

或者可以

location /{proxy_pass http://127.0.0.1:8008;}

Apache2的反向代理的配置是:

ProxyPass /ysz/ http://localhost:8080/

然而,如果要配置一個相對復雜的反向代理
Nginx相對Apache2就要麻煩一些了
比如,將url中以/wap/開頭的請求轉發到后臺對應的某臺server上
可以再Nginx里設置一個變量,來臨時保存/wap/后面的路徑信息

location ^~ /wap/{if ($request_uri ~ /wap/(/d+)/(.+)){set $bucketid $1;set $params $2;}proxy_pass http://mx$bucketid.test.com:6601/$params;}

也可以首先rewrite一下,然后再代理:

location ^~ /wap/{rewrite /wap/(/d+)/(.+) /$2?$args break;proxy_pass http://mx$1.test.com:6601;}

或者

location ~* /wap/(/d+)/(.+){proxy_pass http://mx$1.test.com:6601/$2?$args;}

注意上面最后的?$args,表明把原始url最后的get參數也給代理到后臺
如果在proxy_pass中使用了變量(不管是主機名變量$1或后面的$2變量),則必須得加這段代碼
但如果pass_proxy后沒用任何變量,則不需要加,它默認會把所有的url都給代理到后臺,如:

location ~* /wap/(/d+)/(.+){proxy_pass http://mx.test.com:6601;}

而Apache2相對就簡單多了:

ProxyPassMatch ^/wap/(.*)$  http://192.168.132.147/$1 if ($host ~* www.(.*)){      set $host_without_www $1;      rewrite (.*)$ http://$host_without_www/www$1;    }

url的/問題
在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種) 這種。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 磐安县| 高要市| 马公市| 安塞县| 岐山县| 迭部县| 清水县| 汽车| 通许县| 拉萨市| 隆化县| 耿马| 页游| 都匀市| 固始县| 浏阳市| 商水县| 大兴区| 西昌市| 扶绥县| 曲周县| 叙永县| 建昌县| 双桥区| 吉林市| 沧州市| 任丘市| 常宁市| 绥宁县| 五华县| 丰台区| 巴楚县| 安宁市| 仙游县| 江都市| 小金县| 泾阳县| 察哈| 清水县| 噶尔县|