1

1、负载均衡

//默认轮询方式
upstream backserver {
  server 10.0.0.1;
  server 10.0.0.2;
}

//权重设置,权重越高,访问越大
upstream backserver {
  server 10.0.0.1 weight=1;
  server 10.0.0.2 weight=2;
}
server {
  listen 80;
  server_name localhost;
  location / {
    proxy_pass http://backserver
  }
}

//通过响应时间来分配
//nginx自带ngx_http_upstream_module健康检查模块来进行服务器的心跳检查
upstream backserver {
  server 10.0.0.1 max_fails=1 fail_timeout=40s;
  server 10.0.0.2 max_fails=1 fail_timeout=40s;
}

2、反向代理

location /api{
            # rewrite ^/app\/(.*)$ /$1 break;
            proxy_pass http://localhost:10070;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_connect_timeout 10;
            proxy_send_timeout 10;
            proxy_read_timeout 10;
        }
        location / {
            root   /DATA/work/build;
            index  index.html;
        }

3、https配置

配置https认证,有两个步骤:
(1)签鼠第三方可信任的SSL证书
(2)配置https

4、IP白名单

server {
  location / {
    deny 192.0.0.1; //禁止该ip访问
    deny all; //禁止所有
  }
}

5、适配PC和移动环境

nginx可以通过内置变量$http_user_agent,获取到请求客户短的userAgent。从而进行移动端还是PC端的跳转

server {
  location / {
    //移动、PC设备agent获取
    if($http_user_agent ~* '(Android|webOS|iPhone)'){
      set $mobile_request '1'
    }
    if($mobile+request = '1'){
      rewrite ^. + http://m.**.com
    }
  }
}

6、配置gzip
开启gzip压缩后,可以大大减少静态资源的大小。缩小代码体积


stray
129 声望10 粉丝