您的位置:首页 > 运维架构 > 反向代理

如何实现反向代理?与正向代理的区别以及Nginx 反向代理优势

2017-12-04 15:19 846 查看
如何实现反向代理?什么是反向代理?反向代理的用途?反向代理与正向代理的区别?Nginx 反向代理优势?下面开始一一解决:

什么是反向代理?

通俗的将,反向代理就是一个网络请求中介。

反向代理(Reverse Proxy)指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

反向代理有哪些用途?

反向代理用途有很多,比如:网络加速、保护真实服务器不被外界攻击等

Nginx如何实现反向代理?

我们以Nginx为例,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; #这里表示上面的替换是替换全部匹配成功的内容,而不是只替换一次
}
}

欢迎关注我的博客:阿里云惠网 (专注阿里云优惠)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: