1. 程式人生 > >Nginx+Tomcat實現單IP、多域名的訪問?

Nginx+Tomcat實現單IP、多域名的訪問?

環境說明:
    192.168.91.51部署nginx
    192.168.91.83部署tomcat1(埠8080,部了appa應用)和tomcat2(埠:9080,部了appb應用)
預期目的:
    訪問a.cn,解析到tomcat1上的appa;
    訪問b.cn,解析到tomcat2上的appb;
Nginx配置檔案如下:
server {  
    listen       80;
    server_name  *.a.cn; 
    location / {  
        proxy_pass http://192.168.91.83:8080/appa/;  
        proxy_set_header   Host    $host;  
        proxy_set_header   X-Real-IP   $remote_addr;  
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;  
    }  
}
server {  
    listen       80;
    server_name  *.b.cn;
    location / {  
        proxy_pass 
http://192.168.91.83:9080/appb/;
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 但是訪問域名後提示:502錯誤,這是為什麼呢?
沒有環境,你如下測試,其中3是增加一個Upstream模組。預設就有的。:
1,將Proxy_pass最後面的appa/中的/去掉。
2,在Tomcat中將專案名隱藏掉,搜尋一下即可。直接ip+埠。當然後面也不要加/
3,在Nginx中使用Upstream模組。
比如Proxy引用,結合2中,將專案名隱藏掉。

 upstream a.server
     {
     ip_hash;
     server 192.168.91.83:9080;
     }
其他一樣