演示环境:
系统版本:CentOS Linux release 7.7.1908 (Core)
nginx版本:nginx/1.16.1
当然讲解还是官方最棒:英语和俄语大佬请点击这里移步官网
一、代理简介
1.正常请求流程
客户端发送请求到服务端,服务端接收请求并响应数据。
2.正向代理
- 概念:一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
- 示意图:
注意:客户端需要配置代理服务器地址;代理服务器做缓存即可实现广域网加速,流缓存。
- 作用:
做上网行为管理,记录用户访问记录
对客户端做上网认证授权
广域网加速,加速资源访问(只能只对第二次访问一个资源加速)
做VPN,访问正常无法访问的资源。
3.反向代理
- 概念:
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。 - 示意图:
- 作用:
负载均衡,提高资源利用率
保证内网安全,隐藏服务器信息,防止web攻击。
二、反向代理配置
1.被代理服务器配置
- 被代理服务器启用http服务:Nginx、tomcat、Apache 都可以,这里我们使用了另一个nginx演示
mkdir -p /www/test
echo "It is a test " >/www/test/index.html
vim /etc/nginx/nginx.conf
#修改文件的第48行的路径为你建的文件夹即可
- 重启nginx服务
nginx -s reload
2.代理服务器配置
在/etc/nginx/conf.d/ 创建一个后缀为 .conf的文件 写入一下配置
upstream test_server {
server 39.102.36.xx;
#这里是代理服务器,可是是后台服务器,也可以是其它可以访问的到的服务器地址
#这里写你的真实代理服务器地址,可以加端口号
}
server {
listen 80;
server_name blog.tianyao.site;
location / {
proxy_pass http://test_server;
}
}
- 重启nginx服务
nginx -s reload
3.测试
三、Nginx相关文章链接
(1)Nginx环境搭建
(2)HTTP服务器
(3)HTTPS服务配置详解
(4)反向代理(本期)
(5)负载均衡
(6)动静分离&高并发处理