一台Nginx带多个域名多个tomcat情况的配置

jopen 10年前

部署情况说:

多个域名,其中2个域名需支持泛域名解析

1、www.abc.com

2、www.bcd.com

3、.efg.com

4、
.hij.com

其中1,2,3为一台tomcat

4为独立tomcat

前端一台nginx

通过配置多个虚拟主机来实现该部署。

===============================
进入/etc/nginx/conf.d目录,所有虚拟主机的配置文件都在该目录下存放,配置。

1,2配置简单。可参考  http://wutaoo.iteye.com/blog/1167559

3 配置 需支持泛域名

引用


#
# 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;

    }
}



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 以支持泛域名指向。