参考:

在server.xml中不同的域名配置不同的host就行了

server.xml配置如下(有几个域名就配置几个):(如果有涉及到内网访问,则需要额外再配置一个localhost的host,里面的内容和其他host的网站有重复没关系)

<Host name="a.com"  appBase="webapps"  unpackWARs="true" autoDeploy="true">
         <Context docBase="/xxx"  reloadable="true"  debug="0" path="/"/>
  
         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                prefix="localhost_access_log" suffix=".txt"
                pattern="%h %l %u %t "%r" %s %b" />
       </Host>       <Host name="b.com "  appBase="webapps" unpackWARs="true" autoDeploy="true">

<Context docBase="/ssss"  reloadable="true"  debug="0" path="/"/>

         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                prefix="localhost_access_log" suffix=".txt"
                pattern="%h %l %u %t "%r" %s %b" />
       </Host>

nginx配置如下:
 upstream aaa{
server 192.168.x.x:8888;
     } server {
         listen       80;
         server_name  a.com;


         #charset koi8-r;
         #access_log  logs/host.access.log  main;


location ^~ /console {
    deny all;
}


location / {
             proxy_pass http://aaa;
             proxy_redirect         off;
             proxy_set_header       Host             $host;
             proxy_set_header       X-Real-IP        $remote_addr;
             proxy_set_header       X-Forwarded-For  $proxy_add_x_forwarded_for;


    #允许客户端请求的最大的单个文件字节数
             client_max_body_size    500m;
             #缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户
             client_body_buffer_size 128k;
             #跟后端服务器连接的超时时间_发起握手等候响应超时时间
             proxy_connect_timeout   300;
             #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理
             proxy_read_timeout      300;
             #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
             proxy_send_timeout      300;
             #代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可
             proxy_buffer_size       4k;
             #同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间
             proxy_buffers           4 32k;
             #如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2
             proxy_busy_buffers_size 64k;
             #proxy缓存临时文件的大小
             proxy_temp_file_write_size 64k;


         }


         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }
     }
     
     upstream bbb{
server 192.168.x.x:8888;
     }




     server {
         listen       80;
         server_name  b.com;


         #charset koi8-r;
         #access_log  logs/host.access.log  main;


location ^~ /console {
    deny all;
}


location / {
             proxy_pass http://bbb
             proxy_redirect         off;
             proxy_set_header       Host             $host;
             proxy_set_header       X-Real-IP        $remote_addr;
             proxy_set_header       X-Forwarded-For  $proxy_add_x_forwarded_for;


    #允许客户端请求的最大的单个文件字节数
             client_max_body_size    500m;
             #缓冲区代理缓冲用户端请求的最大字节数 可以理解为先保存到本地再传给用户
             client_body_buffer_size 128k;
             #跟后端服务器连接的超时时间_发起握手等候响应超时时间
             proxy_connect_timeout   300;
             #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理
             proxy_read_timeout      300;
             #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
             proxy_send_timeout      300;
             #代理请求缓存区_这个缓存区间会保存用户的头信息以供Nginx进行规则处理_一般只要能保存下头信息即可
             proxy_buffer_size       4k;
             #同上 告诉Nginx保存单个用的几个Buffer 最大用多大空间
             proxy_buffers           4 32k;
             #如果系统很忙的时候可以申请更大的proxy_buffers 官方推荐*2
             proxy_busy_buffers_size 64k;
             #proxy缓存临时文件的大小
             proxy_temp_file_write_size 64k;


         }


         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }
     }