首页 > 系统相关 >Nginx-server-文件下载配置

Nginx-server-文件下载配置

时间:2023-12-13 10:59:42浏览次数:35  
标签:zone header req server Nginx add mylimit 下载

server {
  
	listen 8001;
	server_name localhost;
	
	# 错误日志:在location块中添加错误日志记录,以便于问题排查。
	error_log /var/log/nginx/8001_down_error.log;
	
	# 通过valid_referers指令来限制允许访问资源的来源。
	valid_referers none blocked server_names localhost yourdomain.com *.yourdomain.com;
	if ($invalid_referer) {
		return 403;
	}
	
	# $binary_remote_addr:表示使用客户端IP地址作为匹配键。
	# zone=mylimit:10m:定义了一个名为mylimit的共享内存区域,大小为10MB。
	# rate=1r/s:设置每秒最多允许1个请求。
	# 这个指令通常与limit_req指令一起使用,用于限制特定URL或位置的请求速率。
	limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
	
        location /down {
			# limit_req指令指定了在超出设定速率时的行为。burst=5表示可以允许5个突发请求超出设定的速率;nodelay表示在达到最大并发数时立即返回错误(默认是延迟响应)。
			limit_req zone=mylimit burst=5 nodelay;
			expires 24h;
			# 强制下载
			if ($request_filename ~* ^.*?.(txt|doc|pdf|rar|gz|zip|rar|docx|exe|xlsx|xls|ppt|pptx|jar)$){
					add_header Content-Disposition attachment;
			}
			add_header Access-Control-Allow-Origin *;
			add_header Access-Control-Allow-Headers X-Requested-With;
			add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;
			 # 资源位置
			alias /data/downloads;
			 # 是否可以看到文件夹目录
			autoindex on;
        }
 
 
        location / {
                return 301  /down;
        }
 
}

标签:zone,header,req,server,Nginx,add,mylimit,下载
From: https://www.cnblogs.com/a999/p/17898554.html

相关文章

  • 国家中小学智慧教育平台教材PDF下载爬虫
    一、确定目标网站二、目标数据分析2.1查看目标数据点击教材后,发现需要登录,如下图。注册登录后查看,同时打开DevTools记录数据包,发现教材PDF下载链接,但无法直接下载,如下图。网上搜索相关话题后发现可通过更改URL绕过该限制,经测试可行,如下图。2.2爬取思路既然找到了实际......
  • 通过PowerShellPlus示例脚本学习PowerShell之-输出SQLServer服务属性
    ##=====================================================================##Title:Get-MSSQL-ServerAttrib-Csv##Description:ConnecttoSQLServerandoutputserverattributestoCSV##Author:Idera##Date:1/28/2009##Input......
  • 基于SpringBoot实现文件的上传下载
    (一)概述文件上传下载一直都是一个系统最常用也是最基本的功能点,刚好最近公司的项目上有用到这个功能,于是自己就用SpringBoot也写了一个简化的版本,已实现文件的上传和下载功能。(二)创建项目首先创建一个SpringBoot的项目,接着引入相关的依赖,因为涉及到数据库的操作,所以依赖会比较多一些......
  • 使用SpringBoot实现文件上传和下载
    上传文件:1.在`pom.xml`文件中添加依赖:xml<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boo......
  • springboot实现文件的上传下载
    SpringBoot提供了简单易用的方式来处理文件上传和下载功能。下面是一个简单的示例:创建一个文件上传的控制器@RestControllerpublicclassFileUploadController{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(FileUploadController.class);@PostMappi......
  • Spring Boot中的文件上传和下载实现
    文件上传文件上传是Web应用程序中常见的功能之一,SpringBoot提供了MultipartFile接口来处理文件上传。以下是实现文件上传的步骤:添加依赖在pom.xml文件中添加以下依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</arti......
  • Spring Boot实现文件上传和下载
    实现SpringBoot文件上传和下载的步骤:1.文件上传在pom.xml文件中添加依赖:spring-boot-starter-web和spring-boot-starter-thymeleaf。创建一个上传前端的页面,包括一个表单来选择文件和一个提交按钮。在Controller中添加一个POST方法,该方法接受MultipartFile参数,将文件保存在服务器......
  • Sqlserver镜像高可用搭建
    1.安装前准备系统相同数据库软件版本补丁相同数据库目录相同数据库恢复模式为完整主备可以ping通,可以相互通过SMSS登录对方2.创建证书2.1.主服务器和镜像服务器创建主密钥USEmasterGOCREATEMASTERKEYENCRYPTIONBYPASSWORD='Pa$$w0rd';--删除主密钥USEma......
  • Django runserver 时报错 [Errno 11001] getaddrinfo failed
    现象描述:python使用Django命令pythonmanage.pyrunserver0:8000时,在浏览器登录遇到错误[Errno11001]getaddrinfofailed错误:解决办法:查看本机ip地址(windows在cmd中输入ipconfig可查看本机ip)打开Django项目的settings.py文件,在ALLOWED_HOSTS=[]中填入查......
  • Docker部署Transmission | Linux 下的一款 BitTorrent 下载软件
    在【镜像管理】>【镜像仓库】输入关键词transmission进行搜索。搜索结果中,找到要搭建的容器镜像linuxserver/transmission,点击下载或双击镜像即可下载。版本默认选择latest,等待镜像拉取完成即可。​​​​​​创建容器在【镜像管理】>【本地镜像】您可以看到刚刚已下载......