AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    详解使用Go添加Nginx代理的方法示例

    简介

    Nginx 是一个高性能的 HTTP 服务器和反向代理服务器.

    最常用的两个功能是反向代理和负载均衡.

    反向代理

    反向代理是正向代理的反面.

    普通的代理服务器是需要用户主动去设置的, 用户在自己的电脑上设置并连接代理服务器,
    从而可以隐藏自己的 IP, 使得应用服务器不知道客户端的 IP 地址.

    而反向代理是作为应用服务器的代理, 安装在服务器上. 客户端实际上访问的反向代理服务器,
    反向代理服务器再去访问实际的应用服务器, 然后将获取到的响应传送给客户端.

    使用 Nginx 配置反向代理非常简单, 基础配置如下:

    upstream web {
     server 127.0.0.1:8081;
    }
    
    server {
     listen 80;
     server_name web.coolcat.com;
    
     location / {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $http_host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Real-IP $remote_addr;
    
      client_max_body_size 5m;
    
      proxy_pass http://web;
     }
    }

    上面的配置文件中设置了一个域名 web.coolcat.com,
    对这个域名的所有请求都会转发到 http://web 上.

    通过配置 upstream, 我们可以发现, 实际上的流量都被转发到了
    127.0.0.1:8081 上了.

    如此一来, 就实现了反向代理.

    负载均衡

    负载均衡和反向代理是分不开的, 负载均衡通常都是基于反向代理做的.

    所谓的负载均衡, 指的是将多个请求转发到不同的后端服务器上.

    upstream web {
     server 127.0.0.1:8081;
    }

    在上面的反向代理配置中, 只设置了一个后端服务器地址,
    如果再添加几个, 就实现了最简单的负载均衡了.

    轮询

    轮询策略按顺序分配请求.

    upstream web {
     server 192.168.1.1:8081;
     server 192.168.1.2:8081;
    }

    加权轮询

    加权策略按比例分配请求.

    upstream web {
     server 192.168.1.1:8081 weight=4;
     server 192.168.1.2:8081 weight=6;
    }

    上面的两个服务器的访问概率就是四六开.

    最少连接

    最少连接将请求分配给当前连接数最少的服务器.

    upstream web {
     least_conn;
     server 192.168.1.1:8081;
     server 192.168.1.2:8081;
    }

    ip_hash

    来自同一个 IP 的连接都会分配给同一个服务器, 通常用于 会话保持.

    upstream web {
     ip_hash;
     server 192.168.1.1:8081;
     server 192.168.1.2:8081;
    }

    通用 hash

    使用 hash 自定义要计算的 key. 示例中使用请求地址.
    可以选择 consistent 参数可以指定使用一致性哈希算法.

    upstream web {
     hash $request_uri;
     # hash $request_uri consistent;
     server 192.168.1.1:8081;
     server 192.168.1.2:8081;
    }

    参考:

    Using nginx as HTTP load balancer

    Module ngx_http_upstream_module

    总结

    Nginx 是很常用的代理服务器, 它的功能非常强大, 性能也很好.
    更多的资料请参考官方文档.

    当前部分的代码

    作为版本v0.14.0

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 通过nginx反向代理来调试代码的实现
    • Docker中使用Nginx代理多个应用站点的方法
    • Nginx正反向代理及负载均衡等功能实现配置代码实例
    • 通过Nginx代理转发配置实现跨域的方法(API代理转发)
    • 添加Nginx代理配置只允许内部IP访问的实现方法
    • Nginx代理proxy pass配置去除前缀的实现
    • 18个运维必知的Nginx代理缓存配置技巧(你都掌握了哪些呢)
    • Nginx正向反向代理区别及原理解析
    上一篇:Golang实现拓扑排序(DFS算法版)
    下一篇:Go语言实现钉钉发送通知
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解使用Go添加Nginx代理的方法示例 详解,使用,添加,Nginx,代理,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)