博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是反向代理?用Nginx如何实现简单反向代理?
阅读量:6364 次
发布时间:2019-06-23

本文共 1808 字,大约阅读时间需要 6 分钟。

 

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

 

首先介绍一下场景:

我有一个网站,部署在法国的服务器上,域名是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

你可能感兴趣的文章
Oracle存储过程中的数据集输入参数
查看>>
vsftp 配置
查看>>
VCSA中配置时间和时区,实测至6.5适用
查看>>
高并发IM系统架构优化实践
查看>>
产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡
查看>>
有关linux--进程组、会话、守护进程详解
查看>>
Java中实现AOP的两种方式 之一: 使用JDK自带的动态代理类Proxy实现
查看>>
ERROR 1820 (HY000): You must reset your password using&n (2016-03-18 01:06:50)
查看>>
疑难故障分析常规流程和思路
查看>>
笔误还是故意
查看>>
awk学习笔记一-结构
查看>>
百篇大计敬本年之C语言巅峰之道《四》—— strcpy 与 memcpy 的区别
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
monkeyrunner运行Python脚本来检查apk渠道和验证是否可以调用微信
查看>>
github获得SSH Key解决Permission denied (publickey)问题
查看>>
用java代码编写Oracle存储过程
查看>>
APACHE转发
查看>>
windows 实现转发DNAT
查看>>
安装永中Office for linux
查看>>