nginx + 阿里云负载均衡

创业公司嘛,项目多,基本上每个项目都有自己的域名,自己的独立入口。

考虑到成本和可管理型,打算把大多数小型业务集中起来,通过同一台nginx集中转发流量,既节约了成本也可以集中控制入口流量。目前由两种方案都在执行,nginx直接反代,nginx + ali lvs,分别讲一下这两种工作方式的优、缺点。

  • nginx 反代后端业务服务器

由于使用nginx集中反代其他的内网web服务器流量,所以一旦需要修改某个项目的配置,就需要重启整个nginx服务,这样会造成nginx频繁重启。

服务器配置代码:

server {
        listen       80;
        server_name  test.tinman.cn;

        location / {
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://url.tinman.cn;
        proxy_intercept_errors on;
        }
}

这样,通过 headers 中的 "X-Real-IP"即可轻松获取用户的真实IP

  • nginx + ali lvs

 但如果想要整体更高的可用性、项目独立性呢?那配合云服务商提供负载均衡吧,现在通过阿里负载均衡作为示例讲解。

 还是把各种杂项web项目挂载到nginx,作为项目的总入口,但是 proxy_pass 的参数则为阿里负载负载均衡的地址和端口,这样的话,nginx只负责接收请求并根据不同的域名转发到不同的负载均衡上,倘若某个项目发生变化,只需要修改对应负载均衡的配置即可。提高nginx的可用性。

如果需要获取用户的真实IP,则通过headers中的"HTTP_X-Real-IP"即可轻松获取

原文地址:https://www.cnblogs.com/odirus/p/5212356.html