Nginx:不管正向还是反向我通通代理

服务器
关于Nginx,除了用它做正常的Web服务器,还经常用它做网络代理服务器使用;来解决网络访问受限的问题。日常大家讨论最多的就是“正向代理”和"反向代理"。很多人,经常会弄不明白什么是"正向代理",什么又是"反向代理",他们之间到底有什么区别?

[[414046]]

关于Nginx,除了用它做正常的Web服务器,还经常用它做网络代理服务器使用;来解决网络访问受限的问题。日常大家讨论最多的就是“正向代理”和"反向代理"。很多人,经常会弄不明白什么是"正向代理",什么又是"反向代理",他们之间到底有什么区别?

其实Nginx只有一种代理转发功能。之所以大家经常会说正向代理或者是反向代理是因为站的角度不一样。我们可以想象一下80-90年代,机关大院里面负责收发信件的老大爷,把老大爷收发信件动作,想象成Nginx对请求的转发功能。

当老大爷把内部信件发往外部时,我们定义为正向代理,那么当老大爷把外部发往内部的信件转发给内部每个具体的人时,就叫做反向代理。但是对于老大爷来说都是代理,完成的动作都是一样的。对于Nginx来说也是一样的,所有网络请求转发指令都是一样的。

Nginx代理指令对比

1.将内部请求转发到外部。

  1. upstream baidu { 
  2.     server www.baidu.com; 
  3.  
  4. server{ 
  5.     listen 8100; 
  6.     server_name proxy_baidu; 
  7.     location / { 
  8.         proxy_pass http://baidu; 
  9.     } 

访问 proxy_ip:8100 将会通过代理服务器把请求发出去。

1.将外部请求转发到内部

  1. upstream test-api { 
  2.     ip_hash; 
  3.     server 192.168.32.12:80; 
  4.     server 192.168.32.13:80; 
  5. server{ 
  6.     listen 8080; 
  7.     location / { 
  8.       proxy_pass http://test-api; 
  9.     } 

这段配置将会把外部发往Nginx请求转发给内部的192.168.32.12和192.168.32.13这两台服务器。

结论

通过对比两段配置会发现,对于Nginx来说,无论正向代理还是反向代理,指令都是一样的。所以对于Nginx来说,都是代理,不分正反。最后附上一份示意图,来进一步说明Nginx网络代理的角色。

 

责任编辑:武晓燕 来源: 今日头条
相关推荐

2020-10-22 08:05:46

Nginx

2018-11-12 12:17:00

2023-09-08 00:07:41

2019-08-26 10:31:12

正向代理反向代理安全

2021-03-16 21:42:37

反向代理正向代理

2018-11-05 09:34:43

2024-02-04 16:51:47

2009-07-27 10:18:16

Ubuntulinux操作系统

2019-06-18 09:45:19

正向代理反向代理IT

2022-07-01 07:33:24

nginx反向代理测试

2023-12-05 09:14:54

2024-03-26 07:38:16

正向代理反向代理代码

2018-04-17 12:10:40

2019-06-19 15:34:39

Nginx反向代理负载均衡

2014-04-29 14:54:48

Nginx反向代理

2020-08-06 08:23:24

Nginx反向代理Web安全

2023-09-13 07:16:31

Ngnix代理服务器

2017-09-06 10:14:29

Nginx TCPmail邮件

2017-12-18 12:04:02

Nginx代理均衡

2019-11-04 15:35:53

Nginx反向代理负载均衡
点赞
收藏

51CTO技术栈公众号