一臺nginx帶多個域名多個tomcat狀況的配置

部署狀況說: 
多個域名,其中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 以支持泛域名指向。

相關文章
相關標籤/搜索