nginx常见问题整理和解决办法

  

以下就是我们整理的nginx常见的问题,解决办法我们例举了1 - 2种,大家可以都测试下。

  


  

  

<强>问题一:相同server_name多个虚拟主机优先级访问

        服务器{   听80;   server_name server1;   位置{…}   }   服务器{   听80;   server_name server2;   位置{…}   }      

解决方法:

  

配置两个配置文件:server1。conf和server2。参看
  

  

根据Linux系统中文件顺序读取
  

  

<强>问题二:位置匹配优先级

        位置=/code1/{   重写^ (. *)/code1/美元指数。html打破;   }   位置~/代码。* {   重写^ (. *)/code3/美元指数。html打破;   }   {位置^ ~/代码   重写^ (. *)/code2/美元指数。html打破;   }      

知识填坑:

  

=:进行普通字符精确匹配,完全匹配
  

  

^ ~:普通字符匹配,使用前缀匹配
  

  

~ \ ~ *:表示执行一个正则匹配()
  

  

解决方法:

  

根据匹配找到最优匹配
  

  

优先级:完全匹配的在正则匹配的在前缀匹配
  

  

<强>问题三:try_files使用

        位置/{   try_files uri uri//index . html美元;   }      

解决方法:

  

按顺序检查文件是否存在
  

  

<强>问题四:Nginx的别名和根区别

        位置/request_path/img/{   根/local_path/img/;   }   位置/request_path/img/{   别名/local_path/img/;   }      

解决方法:

  

根设置,最终请求的路径为/local_path/img/request_path/img/
  

  

别名设置,最终请求为/local_path/img/
  

  

问题五:通过多层代理,传递用户真实IP

  

解决方法:

        设置x_real_ip=remote_addr美元   $ x_real_ip=真实IP      


  

  

优化考虑点:

  

当前系统结构瓶颈,如观察指标,压力测试
  

  

了解业务模式,如接口业务类型,系统层次化结构
  

  

性能与安全
  

  

接口压力测试工具:ab

  

安装:yum安装httpd-tools
  

  

使用:ab - n 2000 - c 20 http://127.0.0.1/
  

  

nginx关于系统的优化点:

  

网络,系统,服务,程序,数据库
  

  

控制文件句柄数量,文件句柄就是一个索引
  

  

CPU亲和,使进程不会在处理器间频繁迁移,减少性能损耗

        vim/etc/nginx/nginx.conf   用户nginx;   worker_processes 16;   worker_cpu_affinity汽车;   worker_rlimit_nofile 15535;   事件{   使用epoll;   worker_connections 10240;   }   http {   包括/etc/nginx/mime.types;   default_type应用程序/八进制;   #字符集   utf - 8字符集;   log_format主要”;   access_log/var/log/nginx/access.日志主要;   #核心模块   sendfile>   ^ ~/上传位置{   根/usr/share/html;   如果($ request_filename ~ * (. *) \。php) {   返回403;#拒绝访问   }   }      

问题三:SQL注入,利用未过滤或未审核的用户输入的攻击手段,让应用运行本不应该运行SQL的代码

  

解决方法:

  

针对' or 1=1 #等常见注入代码进行检测
  

  

搭建安全waf,针对渗透规则写正则表达式
  

  

nginx防攻击策略
  

  

使用nginx + Lua搭建安全waf防火墙

  

防火墙功能:

  

拦截饼干类型攻击
  

  

拦截异常帖子请求
  

  

拦截cc攻击,频繁访问
  

  

拦截URL,不想暴露的接口
  

  

拦截arg参数

nginx常见问题整理和解决办法