从零开始的Nginx详解(4)【Nginx-反向代理】

在这里插入图片描述演示环境:
系统版本:CentOS Linux release 7.7.1908 (Core)
nginx版本:nginx/1.16.1
当然讲解还是官方最棒英语和俄语大佬请点击这里移步官网

一、代理简介

1.正常请求流程

客户端发送请求到服务端,服务端接收请求并响应数据。

2.正向代理

  • 概念:一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
  • 示意图
客户端正向代理服务器目标服务器1. 发送请求,并指定目标2. 将请求转发给目标3.将响应数据给代理服务器4.将响应数据发送给客户端客户端正向代理服务器目标服务器

注意:客户端需要配置代理服务器地址;代理服务器做缓存即可实现广域网加速,流缓存。

  • 作用
    做上网行为管理,记录用户访问记录
    对客户端做上网认证授权
    广域网加速,加速资源访问(只能只对第二次访问一个资源加速)
    做VPN,访问正常无法访问的资源。

3.反向代理

  • 概念
    反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
  • 示意图
客户端反向代理服务器服务器集群1. 发送请求,并指定目标2. 将请求转发给目标3.将响应数据给代理服务器4.将响应数据发送给客户端负载均衡选择服务器对客户端不可见客户端反向代理服务器服务器集群
  • 作用
    负载均衡,提高资源利用率
    保证内网安全,隐藏服务器信息,防止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相关文章链接

Nginx环境搭建
HTTP服务器
HTTPS服务详解
反向代理
负载均衡
动静分离&高并发处理

(1)Nginx环境搭建
(2)HTTP服务器
(3)HTTPS服务配置详解
(4)反向代理(本期)
(5)负载均衡
(6)动静分离&高并发处理

原文地址:https://www.cnblogs.com/tianyao2020/p/12755231.html