LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)

一、自动索引

vi /usr/local/lnmp/nginx/conf/nginx.conf 
http {
    charset utf-8;  在http下面添加中文乱码

 location /download/ {
                limit_conn addr 1;   #限制并发数
                #limit_rate 50k;      #限制带宽
                autoindex on;        #添加自动索引

测试:

浏览器访问17.25.7.2/download/会自动索引到/download目录里面的内容,方便下载

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第1张图片

二、日志轮询

1.编写脚本和定时任务

vim /opt/nginxlog.sh
 
#!/bin/bash
cd /usr/local/lnmp/nginx/logs && mv access.log access_$(date +%F -d -1day).log
kill -USR1 `cat /usr/local/lnmp/nginx/logs/nginx.pid`
-------------------------------------------------------------------------------
加入crontab定时任务
crontab -e
00 00 * * * /opt/nginxlog.sh &> /dev/null

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第2张图片

 2.测试脚本

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第3张图片

3. 禁用不必要的日志记录,以节省磁盘IO的消耗

vim /usr/local/lnmp/nginx/conf/nginx.conf
 
location = /status {
                stub_status;
                access_log off;       #不查看正确的日志
                error_log /dev/null; #错误日志导入垃圾箱
        }
--------------------------------------------------
nginx -s reload

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第4张图片

在真机中测试:

浏览器访问172.25.7.2/status,
cat /usr/local/lnmp/nginx/logs/access.log查看日志,不会有访问记录

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第5张图片

 

三、 站点目录和文件的限制

在/usr/local/lnmp/nginx/html/download目录下写westos.sh的简单脚本用于测试
浏览器输入172.25.6.5/download/westos.sh
脚本可以运行
--------------------------------------------------------------------
vim /usr/local/lnmp/nginx/conf/nginx.conf
在server字段下添加
        location ~ ^/download/.*\.(sh|php)$ {
                deny all;
        }
浏览器输入172.25.6.5/download/westos.sh
脚本不可以运行

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第6张图片

 

四、限制ip

vi /usr/local/lnmp/nginx/conf/nginx.conf
在server中
 location = /status {
                allow 172.25.7.250;  #允许真机172.25.6.250访问
                allow 127.0.0.1;
                deny all;
    }

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第7张图片

测试:

真机可以访问;其他主机不可以。

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第8张图片 

也可以限制ip访问(黑名单)

vi /usr/local/lnmp/nginx/conf/nginx.conf
 
location / {
      root   html;
      index  index.html index.htm;
      if ($remote_addr = 172.25.6.250) {
          return 403;
      }
}

真机访问会显示403的报错

五、nginx重定向

1.防止域名恶意解析到服务器ip

vim /usr/local/lnmp/nginx/conf/nginx.conf
    server {
        listen       80;
        server_name  _;
        return 500;

2.重定向到另一个网址上

vim /usr/local/lnmp/nginx/conf/nginx.conf
    server {
        listen       80;
        server_name  _;
        rewrite ^(.*) http://www.westos.org permanent;

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第9张图片

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第10张图片

3.80重定向443

vim /usr/local/lnmp/nginx/conf/nginx.conf  最后的server字段取消注释且修改
 server {
        listen       443 ssl;
        server_name  www.westos.org;

        ssl_certificate      cert.pem;
        ssl_certificate_key  cert.pem;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

       location / {
            root   html;
            index  index.html index.htm;
        }
    }

LNMP架构下nginx的web优化 ---自动索引、日志轮询、站点目录和文件的限制、限制ip、重定向(防止恶意解析 || 定向到其他网址)_第11张图片

cd /etc/pki/tls/certs/
make cert.pem
mv  ./cert.pem /usr/local/lnmp/nginx/conf
nginx -s reload

 

你可能感兴趣的:(linux实战)