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

如何实现反向代理?什么是反向代理?反向代理的用途?反向代理与正向代理的区别?Nginx 反向代理优势?下面开始一一解决:


什么是反向代理?

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

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


反向代理有哪些用途?

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


Nginx如何实现反向代理?

我们以Nginx为例,Nginx就是为反向代理而生的。

扫描二维码关注公众号,回复: 1895011 查看本文章

优惠福利马上领取阿里云最新优惠券

反向代理

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;                        #这里表示上面的替换是替换全部匹配成功的内容,而不是只替换一次
    }
}
反向代理加速网络

欢迎关注我的博客:阿里云惠网 (专注阿里云优惠)

猜你喜欢

转载自blog.csdn.net/yunweifun/article/details/78709899