使用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*2)
25     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 }
时间: 2024-12-06 06:42:41

使用nginx反向代理一个ip下的多个tomcat的相关文章

nginx反向代理取得IP地址

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_

ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问

一.准备 我用的是Ubuntu服务器器 [Ubuntu 18.04 x64] 和终端管理工具[Xshell] 二.安装 在服务器上安装.NET Core 三.部署程序 1.创建实例程序 可以直接使用.NET Core 的命令创建一个ASP.NET Core 示例网站应用程序,创建目录 /home/myuser/firstapp,执行命令: dotnet new mvc 接着,发布刚才创建的ASP.NET Core 网站发网站目录,所以,我们先创建一个网站发布目录:/var/www/firstap

nginx 反向代理实现负载均衡*配置实战

(接理论篇) 查看lb01的配置文件如下: cat /usr/local/nginx/conf/nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream www_server_pools { #默认调度算

在Linux系统下使用Docker以及Weave搭建Nginx反向代理

Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构.Weave 提供了一个如此棒的环境,仿佛它的所有容器都属于同个网络,不需要端口/映射/连接等的配置.容器中的应用提供的服务在 weave 网络中可以轻易地被外部世界访问,不论你的容器运行在哪里.在这个教程里我们将会使用 weave 快速并且简单

[nginx]Windows和Mac下,nginx反向代理服务器配置

最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.conf文件,http下,默认打开的server只有一个,监听的是80端口: 1 http{ 2 XXXXX 3 server{ 4 listen 80; 5 XXXX 6 } 7 } 2)我们手动添加一个server(虚拟机),这样本地使用假数据来模拟请求json文件时,不会因为跨域而请求不到. 1

nginx反向代理到后端tomcat,并将IP地址发送到后端的配置

nginx反向代理到后端,并将IP地址发送到后端的tomcat上. 假设我们的网站叫demo.demo.com 前端Nginx配置如下: /usr/local/nginx/conf/nginx.conf 在http段加上下面4行:     proxy_set_header X-Forwarded-For $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_head

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

今天测试一下nginx反向代理功能时,让tomcat日志里获取用户真实IP地址,谷歌了一下,都是一篇文章的内容,复制了tomcat配置文件中的要修改的内容,可怎么也获取不到,神奇了就!无奈之下,仔细读每行复制的内容,发现问题了,估计都要是搜索到那篇文章的话,都得无法获取真实IP地址,就一个小小的地方.开始检查配置内容: (1)nigix  nginx.conf配置文件中: proxy_set_header  Host $host; proxy_set_header  X-Real-IP $rem

使用nginx反向代理时,如何正确获取到用户的真实ip

在记录日志的的时候,获取用户的信息,比如用户的ip,浏览器等等信息是十分重要的. 但是在使用nginx反向代理的时候,可能经过转发无法获取到用户的真实的ip, 在此情况下需要配置nginx,让其在转发的时候在header 带上用户的真实的ip. 举个例子: server { listen 80; server_name xxx.lenny.net; root D:\soft\nginx-1.11.4\html; index index.php index.html index.htm; add_

nginx 反向代理 取得真实IP和域名

nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中. nginx反向代理配置时,一般会添加下面的配置: proxy_set_header Host $host;      proxy_set_header X-Real-IP $remote_addr;      proxy_set_header REMOTE-HOST $remote_