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压缩后,可以大大减少静态资源的大小。缩小代码体积
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。