隨著應(yīng)用服務(wù)的增多,服務(wù)可能部署在不同的服務(wù)器上。這些服務(wù)有可能存在IP、端口Port、請求的ContextPath等一樣的情況,怎么合理的配置他們的跳轉(zhuǎn)呢?下面介紹三種常見的跳轉(zhuǎn)方式。
0x01:根據(jù)不同域名判斷跳轉(zhuǎn)不同服務(wù)
就是根據(jù)在Nginx.conf配置的server_name與域名或者(或者IP)匹配跳轉(zhuǎn)不同的服務(wù)。
#當(dāng)客戶端訪問www.domain.com,監(jiān)聽端口號為80,直接跳轉(zhuǎn)到data/www目錄下文件
server {
listen 80;
server_name www.domain.com;
location / {
root data/www;
index index.html index.htm;
}
}
#當(dāng)客戶端訪問bbs.domain.com,監(jiān)聽端口號為80,直接跳轉(zhuǎn)到data/bbs目錄下文件
server {
listen 80;
server_name bbs.domain.com;
location / {
root data/bbs;
index index.html index.htm;
}
}
0x02:根據(jù)不同端口判斷跳轉(zhuǎn)不同服務(wù)
就是根據(jù)在nginx.conf配置的listen指令匹配跳轉(zhuǎn)不同的服務(wù)。
#當(dāng)客戶端訪問www.domain.com,監(jiān)聽端口號為8081,直接跳轉(zhuǎn)到data/www目錄下文件
server {
listen 8081;
server_name www.domain.com;
location / {
root data/www;
index index.html index.htm;
}
}
#當(dāng)客戶端訪問www.domain.com,監(jiān)聽端口號為8082,直接跳轉(zhuǎn)到data/bbs目錄下文件
server {
listen 8082;
server_name www.domain.com;
location / {
root data/bbs;
index index.html index.htm;
}
}
0x03:根據(jù)鏈接的ContextPath不同跳轉(zhuǎn)不同的服務(wù)器
主要根據(jù)每個應(yīng)用服務(wù)器的ContextPath的普通,匹配跳轉(zhuǎn)到不同的服務(wù)器。
#服務(wù)創(chuàng)建監(jiān)聽的端口號
server {
#監(jiān)聽的端口號
listen 80;
#服務(wù)名稱
server_name www.domain.com;
# 匹配項目名稱為bbs開頭
location /bbs/ {
# 配置反向代理
proxy_pass http://192.168.1.188:8081/;
index index.html index.htm;
}
# 匹配項目名稱為blog開頭
location /blog/ {
# 配置反向代理
proxy_pass http://192.168.1.188:8082/;
index index.html index.htm;
}
}