使用nginx反向代理一个ip下的多个tomcat

Posted 放手风筝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用nginx反向代理一个ip下的多个tomcat相关的知识,希望对你有一定的参考价值。

问题:使用阿里云主机和域名后,默认只能解析到ip的80端口,如果配置二级域名指向同一个ip的话是不成立的

解决方案:使用nginx反向代理服务器进行反向代理
原理:利用 nginx upstream机制使得nginx可以成为一个反向代理服务器,没画图软件后期补上
配置文件如下
 1 worker_processes 1;
 2 error_log logs/error.log;
 3 pid logs/nginx.pid;
 4 worker_rlimit_nofile 65535;
 5 events {
 6     use epoll;
 7     worker_connections 65535;
 8 }
 9 http {
10     include mime.types;
11     default_type application/octet-stream;
12     sendfile on;
13     keepalive_timeout 65;
14     client_max_body_size 50m; #缓冲区代理缓冲用户端请求的最大字节数,可以理解为保存到本地再传给用户
15     client_body_buffer_size 256k;
16     client_header_timeout 3m;
17     client_body_timeout 3m;
18     send_timeout 3m;
19     proxy_connect_timeout 300s; #nginx跟后端服务器连接超时时间(代理连接超时)
20     proxy_read_timeout 300s; #连接成功后,后端服务器响应时间(代理接收超时)
21     proxy_send_timeout 300s;
22     proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
23     proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
24     proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*225     proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
26     proxy_ignore_client_abort on; #不允许代理端主动关闭连接
27     upstream www.kite.live {
28                         server localhost:8080;
29     }
30     upstream pan.kite.live {
31                         server localhost:8081;
32     }
33 
34    server {
35         listen       80;
36         server_name  pan.kite.live;
37                 location / {
38             proxy_set_header   Host             $host;
39                         proxy_set_header   X-Real-IP        $remote_addr;
40                         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
41                         proxy_pass http://pan.kite.live;
42                 }
43     }
44     server {
45     listen       80;
46     server_name  www.kite.live;
47         location / {
48                 proxy_set_header   Host             $host;
49                 proxy_set_header   X-Real-IP        $remote_addr;
50                 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
51                 proxy_pass http://www.kite.live;
52                 }
53     }
54 }

 

以上是关于使用nginx反向代理一个ip下的多个tomcat的主要内容,如果未能解决你的问题,请参考以下文章

nginx 80端口反向代理多个域名,怎样隐藏端口的

Linux中Nginx反向代理下的tomcat集群

使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞

nginx反向代理配置不生效

Nginx反向代理时tomcat日志获取真实IP

使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞