部署狀況說:
多個域名,其中2個域名需支持泛域名解析
一、www.abc.com
二、www.bcd.com
三、*.efg.com
四、*.hij.com
其中1,2,3爲一臺tomcat
4爲獨立tomcat
前端一臺nginx
經過配置多個虛擬主機來實現該部署。
===============================
進入/etc/nginx/conf.d目錄,全部虛擬主機的配置文件都在該目錄下存放,配置。
1,2配置簡單。 前端
nginx.conf 最後一行包含如下文字: nginx
引用 後端
include /etc/nginx/conf.d/*.conf;
表示配置虛擬主機文件在 /conf.d 文件夾中
在 /etc/nginx/conf.d 文件夾中建立2個配置文件 tomcat1.conf tomcat2.conf
tomcat1.conf 瀏覽器
引用
server {
listen 80;
server_name tomcat1.abc.net;
location / {
proxy_pass http://192.168.1.2:8080;
}
} tomcat
tomcat2.conf 測試
引用
server {
listen 80;
server_name tomcat2.abc.net;
location / {
proxy_pass http://192.168.1.3:8080;
}
} spa
配置完成保存。
調用 nginx -t 測試配置文件是否正確。
沒有錯誤,啓動 nginx
============================
進入 host 文件配置 域名指向 nginx 所在主機 IP
192.168.1.1 tomcat1.abc.net tomcat2.abc.net
打開瀏覽器訪問 2 個域名 ,出現不一樣的內容,證實配置正確。 .net
3 配置 需支持泛域名 server
引用
#
# A virtual host using mix of IP-, name-, and port-based configuration
#
server {
listen 81;
server_name *.efg.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
} rem
4 配置
引用
#
# A virtual host using mix of IP-, name-, and port-based configuration
server {
listen 81;
server_name *.hij.com;
location / {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
泛域名解析關鍵爲紅色部分,若是沒有紅色部分,後端8080及8081口對應的tomcat虛擬主機將沒法得到域名信息,致使後端tomcat沒法獲取到對應的域名信息。
後端TOMCAT支持泛域名解析時,須要設置 host name 爲 localhost 以支持泛域名指向。