国产探花免费观看_亚洲丰满少妇自慰呻吟_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種) 這種。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 弋阳县| 华安县| 博客| 涟源市| 湟源县| 永仁县| 古浪县| 资源县| 河池市| 克拉玛依市| 鱼台县| 诏安县| 惠东县| 渑池县| 遂溪县| 松潘县| 江津市| 清镇市| 五台县| 鲁甸县| 谷城县| 泰宁县| 普格县| 潜山县| 土默特右旗| 渑池县| 三台县| 聂荣县| 通辽市| 惠州市| 宜昌市| 武隆县| 托克逊县| 新邵县| 葵青区| 和静县| 靖西县| 尼勒克县| 射阳县| 鹤庆县| 仲巴县|