Nginx反向代理和负载均衡的配置
2023-09-27 14:26:44 时间
1、反向代理配置
反向代理也称“动静分离”,nginx不自己处理图片的相关请求,而是把图片的请求转发给其他服务器来处理.
修改nginx部署目录下conf子目录的nginx.conf文件:
加到server{}中
location ~ \.(jpg|jpeg|png|gif)$ {
proxy_pass HTTP://IP:port;
}
反向代理导致了后端服务器接到的客户端IP,为前端服务器的IP,而不是客户真正的IP,怎么办?
答: 代理服务器通过设置头信息字段,把用户IP传到后台服务器去.
location ~ \.(jpg|jpeg|png|gif)$ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass IP:port;
}
这样图片资源即可从另外一台服务器获取
2、反向代理+负载均衡
nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
1:配置upstream
upstream imageserver {
server 192.168.1.204:8080 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.1.204:8081 weight=1 max_fails=2 fail_timeout=30s;
}
weight:权重,如果两台服务器都是1则是1:1分配,一个1一个2则是1:2分配
max_fails :允许请求失败的次数默认为2.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间
2: 下游调用
location ~ \.(jpg|jpeg|png|gif)$ {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://imageserver;
}
Upstream命名和服务器地址根据实际情况修改。
另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream imageserver {
iphash
server 192.168.1.204:8080 max_fails=2 fail_timeout=30s;
server 192.168.1.204:8081 max_fails=2 fail_timeout=30s;
}
相关文章
- Nginx反向代理实现会话(session)保持的两种方式 (转)
- 华为云ELB 共享性负载均衡:ELB 对 HTTPS 进行代理,无论是 HTTP 还是 HTTPS 请求,到了 ELB 转发给后端 ECS 时,都是 HTTP 请求的解决方案
- 通过代理模式(包一层),实现对业务增加功能如日志,异常处理,缓存结果,到达不破坏原有的业务代码,扩展了功能
- C++设计模式 ==> 代理模式
- python opener代理
- 如何在nuxt中添加proxyTable代理
- Socks5代理Socks5 Proxy
- Nginx反向代理1--基本介绍-虚拟主机
- 浅析Nginx实践常用配置:设置二级域名虚拟主机并通过Nginx配置访问、如何配置反向代理、如何配置CORS跨域、如何配置Gzip压缩、如何配置负载均衡、如何配置动静分离、如何配置高可用集群(双机热备)
- 浅析Nginx实践里的常见概念:跨域及简单请求和非简单请求是什么、正向代理和反向代理是什么、负载均衡是什么、动静分离是什么、Nginx的配置语法及常用典型配置
- 设计模式-代理模式
- 爬虫代理哪家强
- nginx根据URL地址、user_agent设备类型、文件扩展名 实现动静分离代理转发
- 【树莓派】Linux 系统级别代理配置
- 正向代理、反向代理、负载均衡
- nginx-下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
- nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
- nginx反向代理
- Nginx反向代理负载均衡配置
- React中配置代理的两种方法