nginx实现反向代理+健康检测

更多干货

说明 
tengine官方说明文档

nginx 对于后端RS的检查机制不完善
所有用Tengine进行反向代理

一、反向代理

1.定义后端real-server(在http段)


        upstream static_server {
                server 192.168.17.175:80 weight=5;
                server 192.168.17.176:80 weight=3;
        }
        upstream basic_server {
                server 192.168.17.175:80 weight=2;
                server 192.168.17.176:80 weight=5;
        }

2.location 匹配到自定义内容 代理到对应的real-server(server段)


    server {
        listen       80 default_server;
        server_name  _;


        location ~ ^/images {
                index index.php index.html;
                proxy_pass http://static_server;
        }
        location ~* .(jpg|png|jpeg|gif) {
                proxy_pass http://static_server;
        }
        #匹配到/youxi  则全部代理到 http://basic_server/index.html;
        location ~ /youxi {
                rewrite ^(.*)$ /index.html break;
                proxy_pass http://basic_server/index.html;
        }

二、real-server健康检测

模块
  nginx_upstream_check_module-master
使用
  upstream块里可以用多个server选项配置多个后端服务器,同时还可配置对后端服务器的健康状态检查,
  可以在server后面加上
    max_fails(proxy_next_upstream指定检查策略,默认为返回超时为失败)和
    fail_timeout参数实现;
    也可以用health_check选项来实现
    health_check可以指定的参数较多,不过需要定义在location上下文中。
    另外,可以指定代理服务器自身作为备份server,当所有后端服务器都宕机时,对外提供维护提示页面。
指定负载均衡策略
  主要有round_robin(加权轮询,默认)、
  hash、ip_hash、least_conn(最少连接)
  least_time(最少响应时间,商业版本)
  策略定义在upstream上下文即可;

1.对real-server进行健康检测(upstream中)

 upstream basic_server {
                server 192.168.17.175:80 weight=2;
                server 192.168.17.176:80 weight=5;
                check interval=3000 rise=2 fall=5 timeout=2000 type=http;
                check_http_expect_alive http_2xx http_3xx;
        }

2.健康检测页面

server {
        location /status {
                check_status;
        }
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nginx反向代理是指通过在服务器上安装Nginx服务器,将客户端的请求转发到后端的其他服务器上进行处理,从而隐藏后端服务器的真实IP地址和域名,提高服务器的安全性和稳定性。 下面是Nginx反向代理的详细说明: 1. 安装Nginx服务器:在服务器上安装Nginx服务器,并确保Nginx服务已经启动。 2. 配置反向代理:在Nginx的配置文件中添加反向代理配置,包括代理服务器的IP地址、端口号、协议等信息。 3. 配置虚拟主机:如果需要配置多个反向代理,可以使用虚拟主机来隔离不同的服务。 4. 测试反向代理:启动Nginx服务后,可以通过访问Nginx服务器的IP地址和端口号来测试反向代理是否生效。 5. 配置负载均衡:如果需要将请求分发到多个后端服务器上进行处理,可以使用Nginx的负载均衡模块来实现。 总的来说,Nginx反向代理可以帮助我们实现服务的高可用性、灵活性和安全性,适用于Web应用程序、API服务、微服务等不同类型的服务。 ### 回答2: Nginx是一个高性能的开源Web服务器软件,同时也可用作反向代理服务器。反向代理是一种网络服务的架构模式,通过将客户端的请求转发给后端服务器来实现负载均衡和高可用性。 Nginx作为反向代理服务器,主要有以下几个特点和功能: 1. 负载均衡:Nginx可以将客户端的请求分发给多个后端服务器,从而实现负载均衡。它支持多种负载均衡算法,比如轮询、IP哈希等,确保每个后端服务器都能得到合理的负载。 2. 缓存加速:Nginx可以缓存静态文件和请求结果,减轻后端服务器的负载,并提高用户访问速度。它支持根据URL、响应头等条件来控制缓存策略。 3. 高可用性:当后端服务器出现故障或宕机时,Nginx可以自动检测并将请求转发到其他健康的服务器,保证服务的持续可用性。 4. 安全性:Nginx具有丰富的安全功能,可以通过访问控制、SSL/TLS加密等方式保护后端服务器的安全。它还可以对恶意请求进行过滤和阻止,提高网站的安全性。 5. URL重写:Nginx可以根据用户请求的URL进行重写,从而实现URL的修改和隐藏。这对于网站的SEO优化和隐藏后端服务器信息非常有用。 6. 静态文件服务器:Nginx也可以作为静态文件服务器,快速直接地响应用户对静态资源(如图片、CSS和JavaScript文件等)的请求,减轻后端服务器的负载。 总的来说,Nginx作为反向代理服务器具有良好的性能,可以通过负载均衡、缓存加速和高可用性等功能提升网站的响应速度和可用性。它还具备丰富的安全和URL重写功能,可以有效保护后端服务器和优化网站的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值