反向代理
反向代理指的是以代理服务器接收用户的的访问请求,代理用户向内部服务器重新发起请求,最后把内部服务器的响应信息返回给用户。这样,代理服务器对外就表现为一台服务器,而访问内部服务器的客户端用的就是代理服务器,而不是真实网站访问用户。
为什么使用反向代理
可以起到保护网站安全的作用,因为任何来自Internet的请求都必须先经过代理服务器。 通过缓存静态资源,加速Web请求。 实现负载均衡反向代理例子
环境说明
假如有AB两个服务器。A服务器提供web资源,并且只给内网访问。B服务器有两块网卡,一块与A服务器在一个内网,以块是外网。此时,用户C想直接访问A服务器是行不通的。这时就可以通过B服务器代理用户C的请求去访问A服务器了。
hostname | 网卡 | IP | 说明 |
---|---|---|---|
moli-04 | ens33 | 192.168.30.6 | 内网IP,代理服务器 |
moli-04 | ens37 | 192.168.93.129 | 外网IP,代理服务器 |
moli-05 | ens33 | 192.168.30.7 | 内网服务器 |
配置虚拟主机
moli-04机器上编辑虚拟主机配置文件,内容如下:
[root@moli-04 extra]$ cat blog.syushin.org.conf server{ listen 80; server_name blog.syushin.org; location / { proxy_pass http://192.168.30.7; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
更改hosts文件
windows上修改hosts文件,添加配置
192.168.93.129 blog.syushin.org
浏览器测试
访问地址是192.168.93.129,出现的界面的05机器的页面,配置成功。
负载均衡
负载均衡的功能
对用户的访问请求进行调度管理 对用户的访问请求进行压力分担负载均衡集群在运行时,一般是通过一个或者多个前端负载均衡器将客户访问请求发到后端的一组服务器上。
Nginx负载均衡
严格来说,Nginx仅仅是作为Nginx Proxy反向代理的使用的,但是因为这个反向代理功能表现的效果是负载均衡机器的效果,因此nginx负载均衡是特殊的反向代理。
实现Nginx负载均衡的主要组件:
Nginx模块 | 说明 |
---|---|
ngx_http_proxy_module | proxy代理模块,用于把请求发送给服务器节点或upstream服务器池 |
ngx_http_upstream_module | 负载均衡模块,可以实现网站的负载均衡功能及节点的健康检查 |
新闻热点
疑难解答