nginx 反向代理 proxy_pass 及对比nginx与haproxy反向代理服务器功能、性能的优劣

1.使用 proxy 去请求另一个域名下的资源,如果跨域资源也部署在同一台机器上,我们甚至可以 proxy 到 127.0.0.1,比如:

location /api

     { proxy_pass http://127.0.0.1:1234;}

当客户端请求 /api 这个路径下的资源时服务器就会帮助我们去 127.0.0.1 的 1234 端口上取资源,解决了跨域的问题。proxy_pass 会将当前的 $uri 带过去

2.Nginx的反向代理负载均衡配置

upstream backend {  

    server 127.0.0.1:90 weight=1 max_fails=3 fail_timeout=30;
    server 127.0.0.1:91 weight=5 max_fails=3 fail_timeout=30;       
    }
 
server {
     listen 9090;
     location / {
     proxy_pass http://backend;
     }       
    }
前端还是使用9090来监听,把请求转发到90和91端口。
如果让你选择负载均衡器,哪种情况你会选择哪种?
1.nginx 处理静态图片请求有优势
2.最核心的问题是代理负载均衡算法,比较少,没有session保持等功能,那就不如用haproxy
对比nginx说明haproxy反向代理服务器功能、性能的优劣

 

 
 
1、haproxy能够做http协议的反向代理,也可以提供基于端口监听服务的反向代理。具备心跳功能,同时能够提供负责均衡服务。
2、nginx只能做http协议的代理。不具备心跳检测功能。
3、在同样可行的http协议的代理下,两者性能基本一致。
参考:http://f.dataguru.cn/thread-527750-1-1.html
           https://www.cnblogs.com/kevingrace/p/6249725.html
 
posted @ 2018-06-11 12:19  littlevigra  阅读(1620)  评论(1编辑  收藏  举报