分类下相关文章
2017-01-11 · 阅读 7603
早上扫了一眼博客,发现出现了大量的垃圾评论,本来想晚上再解决,但是这次频率太高了,几乎两分钟一条,实在是不能忍! 查看垃圾评论的来源 IP Nginx 日志 grep 'POST /comments' access.log | awk '{print $1, $4}' 还好这波垃圾评论的 IP 有规律 188.143.232.27 [11/Jan/2017:10:27:25 188.143.232.27 [11/Jan/2017:10:28:27 188.143.232.27 [11/Jan/2017:10:28:57 188.143.232.32 [11/Jan/2017:10:32:20 ...
2015-12-12 · 阅读 14742
团队同步开发时,通常不能保证后台接口在开发初期可用。 所以,就需要前端自己模拟 API 的返回应答。 记录一下我是如何用 Nginx 来模拟 JSON 接口的 例如,我前端要发送一个请求 POST /api/new-stock 需要后台返回 JSON { 'err_code': 0, 'msg': 'OK' } 只需要将这个 JSON 结果写入 new-stock 文件,然后置于目录 /home/zhongwei/work/someproject/api/ 下。 这是对应的 Nginx 配置文件 server { listen 80 default_server; liste ...
2020-05-04 · 阅读 22325 · 字数 512
真实案例 收到短信报警,调用一些三方 API 接口超时。从 Nginx 看,发现是一个调用三方 API 接口被刷。 短时间内超过了百万次。不可避免的影响了正常业务。 刷站请求特征 短时间内,单 IP 针对单一有利用价值接口做大量请求 请求头为非浏览器 请求量暴涨,日请求总量为平时量的 20 倍 解决方法 在 Nginx 上限制单 IP 单位时间的请求数,以及单 IP 的并发连接数。 http { limit_req_zone $binary_remote_addr zone=one:10m rate=8r/s; server { location /sea ...
2018-01-26 · 阅读 42423
在折腾完了 gulp livereload web server 之后,我才发现其实 Nginx 才是最靠谱的 web 调试服务。 毕竟写伪接口用 Nginx 要方便的多,也不用考虑 node 模块的一堆奇葩依赖。 但是 Nginx 也让我吐了一口血。白天在公司 Ubuntu 开发机上一切正常,但是回家后发现 Mac 下的 Nginx 一直报错。 stat() "/Users/zhongwei/test/index.html" failed (13: Permission denied), rewrite or internal redirection cycle whi ...
2024-09-05 · 阅读 14425 · 字数 419
经常遇到服务器被恶意扫描,或者爬取内容的情况,这时候就可以通过统计 Nginx 日志来分析 IP 的来源。 Nginx 日志默认的格式 一条日志 192.34.61.118 - - [15/Jan/2015:16:03:46 +0800] "GET /parse-nginx-log-with-awk.html HTTP/1.1" 200 2148 "http://sunzhongwei.com" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)&qu ...
2024-07-20 · 阅读 16463
写了一个小 web 应用,需要后台提交数据,但是这个页面只允许我一个人访问。 单独为这个页面增加用户权限系统,有点杀鸡用牛刀的感觉。还好用 Nginx 可以轻松搞定这件事。 htpasswd htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users. 安装方法 sudo apt-get install apache2-utils 创建用户和密码 $ sudo htpasswd -c /etc/n ...
2015-12-12 · 阅读 16601
参考 Nginx开发从入门到精通 uwsgi timeout nginx 的配置更新: uwsgi_read_timeout 300; 默认为 60 秒,容易会超时。 uWSGI 的日志中会看到以下错误 write(): Broken pipe [plugins/python/wsgi_subhandler.c line 132] writev(): Broken pipe [plugins/python/wsgi_headers.c line 205] uwsgi read timeout user www-data; 格式 user user_name group_name; ...
生活 | 跑步 清单 足球 鲁班 探索 孤独的美食家 驾驶 电视剧 收纳 奶爸 健康 game 电影 周末 joke |
---|---|
Geek | 健身 Laravel Git Vim MySQL Linux UI Windows SVN 纪录片 管理 Shell 游记 工具 手机 BackboneJS 自建博客 Mac DNS Tornado CDN Django Python AngularJS 理财 前端 Nginx 爬虫 Redis Javascript Browser 浏览器 推广 OAuth CSS PHP Social Networks 安全 运维 创业 杂记 VueJS Android Image IDE Java ReactJS 数据分析 SQLite RESTful 读书笔记 家电 ecshop Vagrant wordpress docker SEO GTD magento mongodb nodejs weex 冷知识 ruby iOS 微信小程序 AI CMS 快应用 backpack 广告联盟 OA 短信 UWP Win CSharp Tampermonkey graphviz 钉钉 WPS 数据字典 微信公众号 Fuchsia Adobe XD SQL Server thinkphp 代码规范 商业模式 Flutter 头痛的问题 serverless 视频制作 国际化 golang 服务器 Kotlin 网站建设 5G 笔记本 图片 spark spring 物联网 InfluxDB 图像识别 postgre rust |
成长的烦恼 | 闲言碎语 待产 不睡觉 写作 程序员 孙心然语录 原则 大鸿语录 |
地球 | 植物 时间 中文 赚钱 国家地理 烟台 一生伏首拜阳明 emoji 弟子规 英文 国际贸易 |