小知识:nginx正向代理与反向代理详解

正向代理

就是假设有一个内网

内网有两台机器,这两台机器只有 a 可以上网

b 不能上网,但是 a 和 b 通过网络相连接

这时如果 b 想访问外网,就可以通过 a 来正向代理访问外网

正向代理就是在内网中模拟目标服务器,把内网中其它机器的请求

转发给外网中的真正的目标服务器

所以正向代理是接受内网其它机器的请求的

反向代理则是反过来

也是一个内网,有几台机器,只有其中一台与外网连接

但是反向代理接受的不是内网机器的访问请求

反向代理接受的是外网过来的访问请求

然后把请求转发到内网中的其它机器上去

外网发出请求的用户并不知道反向代理的服务器把请求转发给了谁

要在一台机器上设置正向代理的功能

%小知识:nginx正向代理与反向代理详解-猿站网-插图

如图,编辑一个nginx配置文件

上图就是配置文件内容

如果配置一台服务器作为正向代理服务器

那么这个虚拟主机配置文件就必须是默认虚拟主机

因为所有访问这台机器的网络请求应该先访问这个虚拟主机才对

所以这里要设置 default_server

然后还要把原来的 默认虚拟主机 配置文件名称修改掉

%小知识:nginx正向代理与反向代理详解-1猿站网-插图

如图,把 default.conf 配置文件的名称修改一下

这样就取消了原来的默认虚拟主机配置文件了

因为默认的默认虚拟主机配置文件就是 default.conf

配置文件里面的 resolver 119.29.29.29

意思是配置一个 dns 地址

因为是做正向代理,接受了内网请求的域名后

要把请求发送给真正要访问的服务器

但是内网发送的域名是没有包含 ip 地址的

所以还要把域名发送给 dns 服务器解析 ip 地址

拿到 ip地址后才能转发到要访问的服务器上去

所以这里需要配置一个 dns 地址

接受了内网域名后,就会把域名发送到这个 dns 上去解析

下面的 location 按照图中设置就可以了

这样正向代理服务器接受内网机器请求后

就会把域名发到配置的dns上解析,然后访问真正的服务器

再把真正服务器返回的内容发送给发出请求的内网机器

nginx反向代理

做一个反向代理的例子

%小知识:nginx正向代理与反向代理详解-2猿站网-插图

如图建立一个测试的虚拟主机配置文件

监听 8080 端口,域名为 www.test.com

根目录是 /data/wwwroot/test.com

访问虚拟主机显示的首页文件是 index.html

%小知识:nginx正向代理与反向代理详解-3猿站网-插图

如图,创建虚拟主机的根目录 /data/wwwroot/test.com

然后使用 echo “test.com_8080”

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux中在防火墙中开启80端口方法示例

2023-3-31 2:03:58

建站知识

小知识:Nginx配置参数中文说明详解(负载均衡与反向代理)

2023-3-31 2:10:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索