CentOS7 Nginx配置--静态文件过期时间、防盗链、访问控制

2024-05-01 01:18

本文主要是介绍CentOS7 Nginx配置--静态文件过期时间、防盗链、访问控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

配置静态文件不记录日志并添加过期时间

vim test.com.conf

server

{

       listen 80;

       server_name test.com test1.com test2.com;

       index index.html index.htm index.php;

       root /data/nginx/test.com;

if ($host != 'test.com'){

                rewrite ^/(.*)$http://test.com/$1 permanent;

       }

       location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

       {

                expires         7d;

                access_log      off;

       }

       location ~ .*\.(js|css)$

       {

                expires         12h;

                access_log      off;

       }

       access_log /tmp/1.log combined_realip;

}

location ~ 指定对应的静态文件

expires 配置过期时间

access_log配置为off就可以不记录访问日志

 

Nginx 防盗链

location ~.*\.(gif|jpg|jpeg|png|bmp|swf|rar|zip)$

       {

                expires         7d;

                access_log      off;

                valid_referers none blockedserver_name *.test.com ;//对这些域名的网站不进行防盗链,多个地址空格隔开。

                if ($invalid_referer) {

                        return 403;

                }

       }      

       access_log /tmp/1.log combined_realip;


访问控制

 

location /admin/

        {

                allow 192.168.153.135;

                allow 127.0.0.1;

                deny all;

       }  

在配置httpd的时候还有一个order,来定义先allow还是先deny,在nginx里没有,只要匹配规则就结束了,来源IP 会从上到下逐一匹配。

阿铭老师分享:

nginx 使用 user_agent 控制客户端访问

nginx的日志格式中,有一个字段叫做 $http_user_agent  这个其实是客户端浏览器的一个信息,比如咱们平时使用IE浏览器的话,nginx的日志中会记录类似于这样的信息:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT5.1)
这一段信息就是 $http_user_agent 了。咱们可以根据这个特点来控制客户端的请求访问。比如,现在有这样一个需求
把使用IE 6.0 的客户端禁止访问,我们可以这样做:
nignx的配置文件中,加入

1.          location / {

2.              if ($http_user_agent ~ 'MSIE6.0'){

3.                  return 403;

4.              }

5.          }

这样就能禁止使用IE 6.0的客户端访问服务器。

nginx禁止某个IP或者IP段访问站点的设置方法

首先建立下面的配置文件放在nginxconf目录下面,命名为deny.ip   
cat  deny.ip

deny 192.168.1.11;
deny 192.168.1.123;
deny 10.0.1.0/24;
在nginx的配置文件nginx.conf中加入:include deny.ip; 
重启一下nginx的服务:/usr/local/nginx/sbin/nginx  reload 就可以生效了。 
deny.ip
的格式中也可以用deny all; 
如果你想实现这样的应用,除了几个IP外,其他全部拒绝,
那需要你在deny.ip中这样写
allow 1.1.1.1; 

allow 1.1.1.2;
deny all;

 

 

 

这篇关于CentOS7 Nginx配置--静态文件过期时间、防盗链、访问控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950382

相关文章

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

Redis Cluster模式配置

《RedisCluster模式配置》:本文主要介绍RedisCluster模式配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录分片 一、分片的本质与核心价值二、分片实现方案对比 ‌三、分片算法详解1. ‌范围分片(顺序分片)‌2. ‌哈希分片3. ‌虚

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据