天天看點

根據頭部資訊http header控制nginx選擇反向代理伺服器

http://www.111cn.net/sys/nginx/68133.htm

好吧。本來想多寫點的,現在沒時間,太監了。

說下核心:用戶端自定義的http header,在nginx的配置檔案裡能直接讀取到。

條件:header必須用減号“-”分隔單詞,nginx裡面會轉換為對應的下劃線“_”連接配接的小寫單詞。

nginx配置:

 代碼如下 複制代碼

location / {

  if ($http_my_custom_header ~ (d+) ) { 

    rewrite / http://www.111cn.net/ last;

  } 

}

測試:

 代碼如下 複制代碼

wget --header="my-custom-header:1" -d http://www.111cn.net

DEBUG output created by Wget 1.13.4 on linux-gnu.

URI encoding = `UTF-8'

--2014-04-28 09:48:40--  http://www.111cn.net/

Resolving www.111cn.net (www.111cn.net)... 172.31.30.70

Caching www.111cn.net => 172.31.30.70

Connecting to www.111cn.net |172.31.30.70|:80... connected.

Created socket 3.

Releasing 0x084e3e18 (new refcount 1).

---request begin---

GET / HTTP/1.1

User-Agent: Wget/1.13.4 (linux-gnu)

Accept: */*

Host: www.111cn.net

Connection: Keep-Alive

my-custom-header: 1

---request end---

HTTP request sent, awaiting response... 

---response begin---

HTTP/1.1 302 Moved Temporarily

Server: nginx/1.1.19

Date: Mon, 28 Apr 2014 09:48:40 GMT

Content-Type: text/html

Content-Length: 161

Connection: keep-alive

Location: http://www.111cn.net

繼續閱讀