nginx反向代理设置

正向代理

正向代理是指 A无法访问到C 通过B以后可以访问到C 就叫正向代理
举个粟子
A想要买一台最新的MAC PRO,但是只有米国有一家店S,A无法去到米国。
B在米国,能到S店可以买,所以A委托B进行购买。
S店的人不知道最终会把产品卖给A,只知道卖给了B,S店的人也根本不知道有A这个人。
所以A通过B代购了C的货,可以把中间这个代购人看成作正向代理。
A知道有S店,也知道B是代购。

反向代理

后台C D 都可以提供服务器,A不清楚自己会访问哪台后端服务器,A只知道通过B去访问到了资源。

还是举个代购的例子
A想买最新的mac pro,B就卖了一台给他,对就这么直接。
实际上货B也根本没有,但是B知道选择几家有货的S店,把A的需求直接满足。
A不知道有S店,A认为B就是S店,实际上B也是代购。

nginx反向代理设置_第1张图片

差别

总结一下,正向代理与反向代理的区别在于
对于请求者A来说

正向代理时他知道有S这个店,知道B是代理。

反向代理时,A不知道S店,不知道B是代理。

nginx反向代理配置

即通过nginx作为中间结点去访问后端服务器,而不直接由客户端去访问,nginx作为中间结点向最终的服务器请求返回结果。

如何配置反向代理

打开 /etc/nginx/conf.d/default.conf
添加proxy_pass设置如下:

server {
    listen       80;  # 监听80端口
    server_name  localhost nginx.tangll.cn;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
  
    #设置代理 转到8080端口
    location ~ /test.html$ {
        proxy_pass http://127.0.0.1:8080;
   }

    error_page   500 502 503 504 404  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

用node.js搭建一个express的WEB服务器,然后可以设置nginx来进行访问。


https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐

你可能感兴趣的:(nginx)