Nginx

分类下相关文章

与垃圾评论的苦斗

早上扫了一眼博客,发现出现了大量的垃圾评论,本来想晚上再解决,但是这次频率太高了,几乎两分钟一条,实在是不能忍! 查看垃圾评论的来源 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 ...

阅读全文...

Nginx 模拟 Backbone 请求的 JSON 接口

团队同步开发时,通常不能保证后台接口在开发初期可用。 所以,就需要前端自己模拟 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 ...

阅读全文...

如何限制恶意用户刷站 - Nginx 限速规则

真实案例 收到短信报警,调用一些三方 API 接口超时。从 Nginx 看,发现是一个调用三方 API 接口被刷。 短时间内超过了百万次。不可避免的影响了正常业务。 刷站请求特征 短时间内,单 IP 针对单一有利用价值接口做大量请求 请求头为非浏览器 请求量暴涨,日请求总量为平时量的 20 倍 解决方法 在 Nginx 上限制单 IP 单位时间的请求数,以及单 IP 的并发连接数。 http { limit_req_zone $binary_remote_addr zone=one:10m rate=8r/s; server { location /sea ...

阅读全文...

Nginx user 配置引发的血案

在折腾完了 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 ...

阅读全文...

Nginx 日志解析,及 IP 请求量排名统计

经常遇到服务器被恶意扫描,或者爬取内容的情况,这时候就可以通过统计 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 ...

阅读全文...

使用 Nginx 限制页面访问权限

写了一个小 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 ...

阅读全文...

nginx

参考 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; ...

阅读全文...