lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链
Posted dezasseis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链相关的知识,希望对你有一定的参考价值。
一、nginx限流
01_限制并发数
- nginx默认发布目录下,创建download文件,并放入大小约为444K的图片
- 当未做任何限制时,物理机下压力测试
ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg
压力测试,-c指定并发数,-n指定请求数
- 限制并发数
vim /usr/local/nginx/conf/nginx.conf
limit_conn_zone $binary_remote_addr zone=addr:10m;
location /download/
limit_conn addr 1;
#limit_rate 50k;
nginx -t
nginx -s reload
- 压力测试
ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg
- 查看日志
cat /usr/local/nginx/logs/access.log
02_限制带宽
限制带宽
vim /usr/local/nginx/conf/nginx.conf
limit_rate 50k;
nginx -t
nginx -s reload
- 压力测试
ab -c 10 -n 10 http://172.25.2.1/download/vim.jpg
03_限制单位时间请求数目
vim /usr/local/nginx/conf/nginx.conf
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
limit_req zone=one;
limit_req zone=one burst=5 %表示一次传输5个,直到传输完成
limit_req zone=one burst=5 nodelay; %表示一次传输5个,不等待,超时则任务失败
rate=1r/s表示允许相同标识的客户端的访问频次,这里限制的是每秒1次
ab -c 1 -n 10 http://172.25.0.1/download/vim.jpg
limit_req zone=one burst=5
limit_req zone=one burst=5 nodelay
二、nginx配置管理
01_自动索引
下载方便
vim /usr/local/nginx/conf/nginx.conf
自动索引可以自动索引到相关目录,方便下载相关文件:
autoindex on;
- 访问172.25.2.1/download,可以直接索引到该目录中的文件
02_expire缓存配置
缓存可以降低网站带宽,加速用户访问
vim /usr/local/nginx/conf/nginx.conf
location ~ .*\\.(gif|jpg|png)$
expires 365d;
root html;
测试
curl -I 172.25.2.1/download/vim.jpg
03_日志轮询
cd /opt/
vim nginxlog.sh
#!/bin/bash
cd /usr/local/nginx/logs && mv access.log access_$(date +%F -d -1day).log %日志文件重命名
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid` %重载日志
04_禁用不必要的日志记录
vim /usr/local/nginx/conf/nginx.conf
access_log off;
- 再次访问172.25.2.1/download/
- 日志不会记录
05_站点目录和文件的限制
- 未加限制之前
- 增加限制
vim /usr/local/nginx/conf/nginx.conf
deny all;
- 允许某些用户访问
vim /usr/local/nginx/conf/nginx.conf
- 访问172.25.2.1/download/
06_中文乱码
-
编辑nginx默认html测试页面,使其产生中文乱码
vim /usr/local/nginx/html/index.html
-
出现乱码情况
-
解决中文乱码
vim /usr/local/nginx/conf/nginx.conf
-
访问172.25.2.1,乱码问题解决
三、nginx重定向
01_防止域名恶意解析到服务器IP
vim /usr/local/nginx/conf/nginx.conf
return 500;
访问172.25.2.1
02_永久重定向
vim /usr/local/nginx/conf/nginx.conf
rewrite ^(.*) http://www.westos.org permanent;
- 访问测试 172.25.2.1,重定向
03_80重定向443
vim /usr/local/nginx/conf/nginx.conf
网页访问172.25.2.1,已经重定向到443
04_同一台主机,不同域名之间的重定向
方式1
- 编辑配置文件
mkdir /bbs
echo bbs.linux.org > /bbs/index.html
vim /usr/local/nginx/conf/nginx.conf
rewrite ^/bbs$ http://bbs.linux.org permanent;
rewrite ^/bbs/(.*)$ http://bbs.linux.org/$1 permanent;
server
listen 80;
server_name bbs.linux.org;
location /
root /bbs;
index index.html;
- 测试
方式2
vim /usr/local/nginx/conf/nginx.conf
if ($host = "bbs.linux.org")
rewrite ^/(.*)$ http://www.linux.org/bbs/$1 permanent;
访问测试
四、防盗链
盗链:在自己的页面中嵌入别人的链接,显示在自己的页面上,以达到盗链的目的,。
- 制作盗链
选取server2主机,在其apache的默认发布目录下编写盗链文件,盗取server1的页面
vim /var/www/html/index.html
<body>
<img src="http://www.westos.org/download/vim.jpg"/>
</body>
- 在物理机下 vim /etc/hosts
172.25.2.2 server2 daolian.westos.org
- 当访问172.25.2.2或者daolian.westos.org时,直接链接到www.westos.org/download/vim.jpg,显示其下的内容
防盗链,防止盗链消耗原站的流量
方法一:返回403
vim /usr/local/nginx/conf/nginx.conf
location ~ \\.(jpg|png)$
valid_referers none blocked www.westos.org;
if ($invalid_referer)
return 403;
#rewrite ^/ http://172.25.2.3/daolian.jpg;
- 再次访问172.25.2.2或者daolian.westos.org
方法二:重定向盗链
- 在server3的apache发布目录下,放daolian.jpg
vim /usr/local/nginx/conf/nginx.conf
location ~ \\.(jpg|png)$
valid_referers none blocked www.westos.org;
if ($invalid_referer)
#return 403;
rewrite ^/ http://172.25.2.3/daolian.jpg;
- 再次访问172.25.2.2或者daolian.westos.org
- www.westos.org/download/vim.jpg可以正常访问
以上是关于lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链的主要内容,如果未能解决你的问题,请参考以下文章
lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链
lamp架构nginx限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链