如何使用Nginx实现反向代理 您所在的位置:网站首页 nginx反向代理内网访问外网 如何使用Nginx实现反向代理

如何使用Nginx实现反向代理

#如何使用Nginx实现反向代理| 来源: 网络整理| 查看: 265

如何使用Nginx实现反向代理 发布时间:2021-12-13 09:21:19 来源:亿速云 阅读:106 作者:iii 栏目:服务器

本篇内容介绍了“如何使用Nginx实现反向代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

 什么是代理服务器

代理服务器,客户机在发送请求时,不是直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

如何使用Nginx实现反向代理

代理服务器的作用

提高访问速度(热门网站必配):通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。

隐藏真实身份(网站安全加强):上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。

突破限制(尽情网上冲浪):有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。

正向代理与反向代理

正向代理,好比你想买房,但是你的资金不够,于是你去找王思聪借钱,肯定是被拒绝了;这个时候你打听到你的一个好朋友小A和王思聪是同学,于是你找小A帮你跟王思聪借钱,借钱成功。小A在这个过程中就是代理,准确点是正向代理,小A替你借了钱,这个过程中,非常关键的是真正借钱的人是谁,王思聪是不知道的。

我们常说的代理也就是指正向代理,正向代理的过程,它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求,比如科学上网工具  Shadowsocks 扮演的就是典型的正向代理角色。

如何使用Nginx实现反向代理

反向代理,好比你拨打10086,一个地区的 10086  客服成百上千个,你不需要关心在电话那头的是哪一个,你关心的是你的问题能不能得到专业的解答;那么这里的 10086  总机号码就是我们说的反向代理。客户不知道真正提供服务的人是谁。

反向代理隐藏了真实的服务端,当我们访问 www.baidu.com  的时候,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,www.baidu.com  就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到提供真实计算的服务器那里去。

如何使用Nginx实现反向代理

两者的区别在于代理的对象不一样,「正向代理」代理的对象是客户端,「反向代理」代理的对象是服务端。

反向代理应用场景

当下很多大型 Web 网站都会使用到反向代理。用于防止外网对内网服务器的恶性攻击;缓存以减少服务器的压力和访问安全控制;实现负载均衡。

实践配置反向代理服务器 Nginx

Nginx作为当下最火的反向代理服务器,下面举例使用nginx反向代理,多域名站点配置:

配置IP域名

172.16.100.108 www.a.com

172.16.100.108 www.b.com

upstream www_a_com {  server 172.16.100.108:8001; } upstream www_b_com {  server 172.16.100.108:8002; } server {  listen 80;  server_name www.a.com;  charset utf-8;  autoindex off;  location / {  proxy_pass http://www_a_com;  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  } } server {  listen 80;  server_name www.b.com;  charset utf-8;  autoindex off;  location / {  proxy_pass http://www_b_com;  proxy_set_header Host $host;  proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  } }

“如何使用Nginx实现反向代理”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:Nginx服务实现反向代理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nginx 上一篇新闻:Spring Boot里面引入hive-jdbc包出错怎么办 下一篇新闻:Matlab Deep Network Designer APP搭建神经网络及相关函数是什么 猜你喜欢 使用linux的gedit命令GNOME桌面的文本编辑器 使用linux的db_load命令生成db数据库 使用linux的red命令指定文件编辑器 使用linux中view命令可以调用vi的命令文本编辑器 使用linux的vi命令文本编辑器 使用linux的make命令编辑内核或模块 使用linux的nano命令字符终端文本编辑器 使用linux的gawk命令模式扫描与处理语言 使用linux的column命令输入格式化为多个列 使用linux的crudini命令操纵ini文件


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有