什么是反向代理?用Nginx如何实现简单反向代理?

 

反向代理,这个词相信搞网络的朋友都很熟悉的,但是具体是什么意思呢?说实话,复杂的我也不懂,就我个人理解而言,反向代理有很多用途,比如说保护真实服务器不被外界攻击,加速网络等等。今天我们要介绍的就是加速网络的一种。

 

首先介绍一下场景:

我有一个网站,部署在法国的服务器上,域名是www.2.com,国内用户直接访问这个网站的时候,网络速度非常的慢,因为大家都知道,中国到法国的网络是经过了很遥远的距离传输。国内的服务器虽然速度很快,但是费用却很贵,那么有什么办法可以加速国内用户访问我法国的网站呢?今天我就给大家介绍一种反向代理加速的方法。

 

首先我们要找一台访问法国服务器速度比较快的服务器,折中一点我们可以找香港的服务器,配置不需要太高,为什么挑香港呢?因为香港是我们中国作为对外的一个转接口,大陆到香港的网络速度不会慢,而香港到法国的速度又不会太慢,所以我们选择香港来中转。

 

实现方法:在香港服务器上部署反向代理服务,然后将域名解析到香港服务器,当用户访问我网站的时候,实际是访问了香港的服务器,然后由香港服务器将用户的请求转发到法国服务器,法国服务器处理完成后,再将结果返回给香港服务器,香港服务器接收后再返回到用户浏览器,这样一来,用户并没有直接访问速度慢的法国服务器,而是经过了香港服务器的中转,因此访问的速度有所提高。

 

整个流程如下图所示:

未命名-1.jpg

 

那么如何实现这样的反向代理服务呢?我们选择的是Nginx,这款大名顶顶的工具,它出生的目的就是为了实现反向代理服务。下面是一个简单的反向代理服务配置:

upstream remote                                     #这里的remote是可以随便取的名称
{
    keepalive 30;                                   #这里指定保持连接,时间为30秒
    server www.2.com;                               #这个www.2.com是目标网站的IP
}
server {
    listen       80;                                #这个是中转机绑定的端口
    server_name  www.1.com;                         #这里是中转机绑定的域名

	proxy_buffering off;                            #这两行是指关闭传输缓冲区,降低内存占用,提高响应速度
    proxy_request_buffering off;   

    location / 
    {
        proxy_set_header X-Real-IP $remote_addr;    #将用户的真实IP传递给目标服务器
        proxy_set_header Host www.2.com;            #设置Host为www.2.com,因为目标服务器的网站绑定了域名www.2.com
        proxy_set_header Connection Keep-Alive;     #设置保持长连接,时间为上面upstream里的keepalive的30秒
        proxy_pass http://remote;                   #这里的remote对应upstream设置的名称
        sub_filter "2.com" "1.com";                 #这里表示将目标网站的字符串“2.com”全部替换成“1.com”
        sub_filter "哈哈" "你好";                   #这里表示将目标网站的字符串“哈哈”全部替换成“你好”
        sub_filter_once off;                        #这里表示上面的替换是替换全部匹配成功的内容,而不是只替换一次
    }
}
 
 原文链接:http://www.3000.cx/detail.php?id=6817

转载于:https://www.cnblogs.com/smallleader/p/8489187.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值