Linux项目实战--nginx的配置管理、重定向和防盗链

本文详细介绍Nginx的配置管理技巧,包括自动索引、日志轮询、禁止不必要的日志记录、站点目录和文件的限制、IP限制、重定向及防止域名恶意解析等,帮助读者提升Nginx服务器的安全性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • nginx配置管理

  • 自动索引
vi /usr/local/lnmp/nginx/conf/nginx.conf

http {
    charset utf-8;  在http下面添加中文乱码
在server字段里面
 location /download/ {
                limit_conn addr 1;   #限制并发数
                #limit_rate 50k;      #限制带宽
                autoindex on;        添加 #自动索引

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

  • 日志轮询

vim /opt/nginxlog.sh


#!/bin/bash
cd /usr/local/lnmp/nginx/logs && mv access.log access_$(date +%F -d -1day).log
kill -USR! `cat /usr/local/lnmp/nginx/logs/nginx.pid`

加入crontab定时任务

crontab -e

00 00 * * * /opt/nginxlog.sh &> /dev/null

测试:

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

 

vim /usr/local/lnmp/nginx/conf/nginx.conf

在server字段里面
location = /status {
                stub_status;
                access_log off;  #不查看正确的日志
                error_log /dev/null; #错误日志导入垃圾箱
        }

测试:浏览器访问172.25.5.6/status,

cat /user/local/lnmp/nginx/logs/access.log查看日志,不会有访问记录

  • 站点目录和文件的限制
vi /usr/local/lnmp/nginx/conf/nginx.conf


在server字段下添加
        location ~ ^/download/.*\.(sh|php)$ {
                deny all;
        }

测试:nginx -s reload

在/usr/local/lnmp/nginx/html/download目录下写westos.sh的简单脚本用于测试

浏览器输入172.25.6.5/download/westos.sh

  • 限制ip
vi /usr/local/lnmp/nginx/conf/nginx.conf

在server字段
 location = /status {
                allow 172.25.6.250;  #允许真机172.25.6.250访问
                allow 127.0.0.1;
                deny all;

测试:nginx -s reload

浏览器访问172.25.6.5/status

其他主机访问被拒绝

vi /usr/local/lnmp/nginx/conf/nginx.conf

在server字段的location下面 
location / {
            root   html;
            index  index.html index.htm;
        if ($remote_addr = 172.25.6.250) {
                return 403;
        }
        }

测试:nginx -s reload

浏览器访问172.25.6.5,403报错,因为上面的文件限制了真机的访问

  • nginx重定向

  • 防止域名恶意解析到服务器ip
vim /usr/local/lnmp/nginx/conf/nginx.conf

    server {
        listen       80;
        server_name  _;
        return 500;

测试:nginx -s reload

浏览器用ip直接访问,返回500

  • 也可重定向为
vim /usr/local/lnmp/nginx/conf/nginx.conf

    server {
        listen       80;
        server_name  _;
        rewrite ^(.*)http://www.westos.org permanent;

测试:nginx -s reload

  • 80重定向443

/usr/local/lnmp/nginx/conf/nginx.conf的最后的server字段取消注释

cd /etc/pki/tls/certs/

make cert.pem

mv  cert.pem /usr/local/lnmp/nginx/conf

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值