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限流配置(自动索引缓存日志轮询与禁用部分记录目录和文件限制中文乱码)重定向防盗链

运维实战 Nginx配置优化

linux企业部分:nginx的并发优化负载均衡反向代理平滑升级算法扩展限流配置管理重定向。

lnmp架构之nginx

lnmp架构之nginx