linux_nginx反向代理
2024-08-24 23:21:54
什么代理?
代理他人工作
什么是正向代理和反向向代理,他们之间的区别?
这两个代理很类似,但扮演了两个不同角色,一个站在用户角度,一个站在服务端角度
正向代理: 帮助用户请求服务
返向代理:帮助服务均衡用户的请求
Nginx反向代理使用
Nginx支持L7,1.9以上版本支持L4
# L7 L4 相当于网络7层模型,L7表示应用层, L4表示传输层
依赖模块:
ngx_http_proxy_module
# proxy代理模块,用于把请求抛给服务器节点或upstream服务池
ngx_http_upstream_module
# 负载均衡模块,可以实现网站的负载均衡功能和节点的健康检查
Nginx反向代理配置:
# 中小企业大量使用
1. 反向代理环境安装
和Nginx环境安装一样 linux_nginx环境安装
2. 更改配置文件
其配置文件位置: /application/nginx/conf/nginx.conf
# 其配置添加在 http 模块中 upstream www_server_pools {
# 反向代理upstream声明,后面是名字,用在location中表示跳转到反向代理服务器
server 10.0.0.8:80 weight=1;
server 10.0.0.9:80 weight=1;
# weiht表示权重,越大获得的请求越多,这个ip地址是web服务的地址
# weight一样,雨露均沾,也就是说可以从这里,指向更改了端口号的web服务器
# 雨露均沾就会有个问题,客户登录认证时候,在不同的web服务中跳转,重复认证问题,可以添加 ip_hash; 这个解决一个用户连接,只能固定使用同一个web服务器提供服务
} # 主配置文件中server绑定域名
server {
listen 80;
server_name www.yunhello.cn; # 代理服务器绑定域名
location / {
proxy_pass http://www_server_pools; # 跳转到反向代理
proxy_set_header Host $host; # 传递请求头
proxy_set_header X-Forwarded-For $remote_addr; # 传递客户端源地址
}
} # 这样的话,用户通过域名访问web服务,首先是到负载均衡服务,然后负载均衡代替用户向web服务请求,对用户来说,和直接访问web服务没有区别 # 可是这样的访问,无法获取用户的请求头信息和来源ip信息
# 在location中添加下面这两行
# proxy_set_header Host $host; # 传递用户的请求头 # proxy_set_header X-Forwarded-For $remote_addr; # 传递用户访问ip地址 # 在web服务中,需要激活access_log 默认格式配置 $http_x_forwarded_for字段显示用户源ip,然后再每个站点的server中指定各个站点单独的access.log 中应用主配置文件中main格式
如何实现Nginx服务的高可用?
主Nginx负载均衡器宕机了,备负载均衡顶替上去
1. 安装keepalived模块
yum install keepalived -y
2. 配置文件为 /etc/keepalived/keepalived.conf
# keeplived不仅仅是ip的管理,还有资源的管理,ivs管理,需要把除了ip管理其他的都干掉,其他功能并不需要,更改为以下内容,多余全部删掉 ! Configuration File for keepalived global_defs {
notification_email {
qq@qq.com # 个人邮箱,一般不用,使用监控软件实现监控
}
notification_email_from qq@qq.com # 邮箱
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL # 备需要更改一下,不能一样
} vrrp_instance VI_1 {
state MASTER # 主,备需要改为 BACKUP
interface eth0 # 通信网卡,默认绑定辅助ip的网卡
virtual_router_id 51 # 实例id,用这个来区分主主备是不是一个实例
priority 150 # 优先级,数字越大优先级越高
advert_int 1 # 心跳间隔
authentication {
auth_type PASS # 两台负载均衡之间通信密码
auth_pass 1111
} virtual_ipaddress { 10.0.0.3 # 辅助ip地址一样,当主挂了,备就使用这个辅助ip } } # 然后用户请求,将会直接到达这个辅助ip,然后通过这个辅助ip访问代理,实现web访问
最新文章
- Html:form表单
- 图像映射map
- PHP自动发邮件
- html格式化
- HTTP 笔记与总结(6)referer 头与防盗链
- Java基础之集合框架——使用集合Vector<;>;挑选演员(TryVector)
- 09_platform-tools简介&;常见adb指令
- (1)opengl-nehe 4种框架
- reactor官方文档译文(1)Reactor简介
- UITableViewCell 高度计算从混沌初始到天地交泰
- Python 基础-python-列表-元组-字典-集合
- STL源码剖析读书笔记之vector
- Python OS模块,和Open函数
- Cocos Creator 获得设备分辨率
- Spark的word count
- 分类模型评估之ROC-AUC曲线和PRC曲线
- C# Thrift 实战开发 从PLC到Thrift再到客户端集成开发
- Zookeeper的基本概念和重要特性
- 如何使用Xcode的Targets来管理开发和生产版本的构建
- HashMap源码-描述部分
热门文章
- 使用Q进行同步的Promises操作
- 基于docker的 Hyperledger Fabric 多机环境搭建(下)
- PHP正在进行时-变量
- Windows内核函数
- 【转载】漫谈HADOOP HDFS BALANCER
- Java集合系列[2]----LinkedList源码分析
- JAVA基础-集合(二)
- VirtualBox5虚拟机 安装ubuntu16.04
- Mysql导入大文件报错(MySQL server has gone away(error 2006))
- Inception服务的安装以及使用Python 3 实现MySQL的审计