以下就是我们整理的nginx常见的问题,解决办法我们例举了1-2种,大家可以都测试下。
常见问题
问题一:相同server_name多个虚拟主机优先级访问
server{ listen 80; server_name server1; location{...} } server{ listen 80; server_name server2; location{...} }
解决方法:
配置两个conf文件:server1.conf 和 server2.conf
根据Linux系统中文件顺序读取
问题二:location匹配优先级
location = /code1/ { rewrite ^(.*)$ /code1/index.html break; } location ~ /code.* { rewrite ^(.*)$ /code3/index.html break; } location ^~ /code { rewrite ^(.*)$ /code2/index.html break; }
知识填坑:
=:进行普通字符精确匹配,完全匹配
^~:普通字符匹配,使用前缀匹配
~ \~*:表示执行一个正则匹配()
解决方法:
根据匹配找到最优匹配
优先级:完全匹配>正则匹配>前缀匹配
问题三:try_files使用
location / { try_files $uri $uri/ /index.html; }
解决方法:
按顺序检查文件是否存在
问题四:Nginx的alias和root区别
location /request_path/img/ { root /local_path/img/; } location /request_path/img/ { alias /local_path/img/; }
解决方法:
root设置,最终请求的路径为/local_path/img/request_path/img/
alias设置,最终请求为/local_path/img/
问题五:通过多层代理,传递用户真实IP
解决方法:
set x_real_ip=$remote_addr $x_real_ip=真实IP
性能优化问题
优化考虑点:
当前系统结构瓶颈,如观察指标、压力测试
了解业务模式,如接口业务类型、系统层次化结构
性能与安全
接口压力测试工具:ab
安装:yum install httpd-tools
使用:ab -n 2000 -c 20 http://127.0.0.1/
nginx关于系统的优化点:
网络、系统、服务、程序、数据库
控制文件句柄数量,文件句柄就是一个索引
CPU亲和,使进程不会在处理器间频繁迁移,减少性能损耗
vim /etc/nginx/nginx.conf user nginx; worker_processes 16; worker_cpu_affinity auto; worker_rlimit_nofile 15535; events{ use epoll; worker_connections 10240; } http{ include /etc/nginx/mime.types; default_type application/octet-stream; #Charset charset utf-8; log_format main ''; access_log /var/log/nginx/access.log main; #Core module sendfile on; keepalive_timeout 65; #Gzip module gzip on; gzip_disable "MSIE [1-6]\."; gzip_http_version 1.1; #Virtal server include /etc/nginx/conf.d/*.conf; }
nginx安全问题及防范策略
恶意行为
问题:爬虫行为和恶意抓取、资源盗用
解决方法:
基础防盗链功能:不让恶意用户轻易的爬取网站对外数据
secure_link_module模块:对数据安全性提高加密验证和失效性,对一些重要数据使用
access_module模块:对后台、部分用户服务的数据提供IP监控,如规定IP等
应用层攻击
问题一:后台密码撞库,通过密码字典不断对后台系统登录性尝试,获取后台密码
解决方法:
后台密码复杂的,大小写数字字符等
预警机制,同一IP的频繁访问
access_module模块:对后台、部分用户服务的数据提供IP监控
问题二:文件上传漏洞,利用可以上传的接口将恶意代码植入服务器中,再通过url访问以执行
解决方法:
针对一些木马和后缀等做一定的处理
location ^~ /upload{ root /usr/share/html; if($request_filename ~*(.*)\.php){ return 403; #拒绝访问 } }
问题三:SQL注入,利用未过滤或未审核的用户输入的攻击手段,让应用运行本不应该运行的SQL代码
解决方法:
针对' or 1=1 #等常见注入代码进行检测
搭建安全waf,针对渗透规则写正则表达式
nginx防攻击策略
使用nginx+Lua搭建安全waf防火墙
防火墙功能:
拦截Cookie类型攻击
拦截异常post请求
拦截cc攻击,频繁访问
拦截URL,不想暴露的接口
拦截arg参数
nginx,常见问题
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- [音展纪念碟]2006年《TAA台湾第十六届国际HI-ENDHI-FI音响展》2cd[WAV]
- 中国音乐地图之听见西藏山歌牧歌酒歌2020[WAV分轨]
- 王宏伟2017-永远的红飘带[太平洋影音][WAV+CUE]
- 费翔.1997-NOW现在【第一中国】【WAV+CUE】
- 新格合唱团.1981-我唱你和2辑(滚石新格民歌系列)【新格】【WAV+CUE】
- 陈柏宇.2011-QUINQUENNIUM【SONY】【WAV+CUE】
- 雨果唱片-《金唛系列-蔷薇依韵琼瑶》WAV
- 陈百强《凝望(2012华纳LPCD45限量版)[DMI]》[WAV整轨]
- 模拟之声慢刻CD《徐小凤45周年》[德国母带][低速原抓WAV+CUE]
- 《庄心妍 实力唱将 发烧音乐精选集》[WAV+CUE][380MB]
- 《王菲 单曲合集》[FlAC/分轨][520MB]
- 《费玉清 原味再现 水长流》[WAV+CUE][430MB]
- 群星.1992-畅销榜老歌金曲10CD【风格】【WAV+CUE】
- 孙悦.2024-时光音乐会【金蜂】【WAV+CUE】