nginx 配置 跨域、压缩、文件下载 、静态文件、防盗链

1.跨域配置 在server模块下

访问如:http://127.0.0.1:8080/static/a.txt

复制代码
	#跨域
	server {
		listen     8080;
		server_name localhost;
		
		#允许跨域请求的域, *代表所有
		add_header 'Access-Control-Allow-Origin' *;
		#允许带上cookie请求
		add_header 'Access-Control-Allow-Credentials' 'true';
		#允许请求的方法,比如 GET/POST/PUT/DELETE
		add_header 'Access-Control-Allow-Methods' *;
		#允许请求的header
		add_header 'Access-Control-Allow-Headers' *;
		
        #http://127.0.0.1:8080/static/a.txt  可访问到 /home/images目录下的a.txt文件
		location /static {
			#root /home; #指定根目录
			alais /home/images;
		}
	}

2.压缩文件传输 在http块下

复制代码
	#开启压缩功能,提高传输率
	gzip on;
	#限制最小压缩,即小于1字节的文件不会被压缩
	gzip_min_length 1;
	#定义压缩的级别(压缩比越大,压缩越狠,同时cup使用更多)
	gzip_comp_level 3;
	#定义压缩文件的类型
	gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/json;

3.文件下载

复制代码
	server {
		listen     8080;
		server_name localhost;
		
		# /download  映射到服务器 /home/data 目录
		location /download {
			alias /home/data;#资源放此文件夹下
			autoindex on;
			autoindex_exact_size off;
		}
	}

4.静态文件直接访问

http://127.0.0.1:8080/static/xx.jpg 即可访问到服务器 /home/images/xx.jpg

复制代码
	server {
		listen       8080;
		server_name  localhost;
		
		location /static {
			#root /home; #指定根目录
			alais /home/images;
		}
	}

5.防盗链 server模块下

复制代码
	server {
		listen     8080;
		server_name localhost;
		
		#对源站点验证  查看请求是不是这个源站请求过来的
		valid_referers *.xxx.com; 
		#如果不是源站访问过来的,则返回404阻止访问
		if ($valid_referers) {
			return 404;
		}
		
		location /static {
			#root /home; #指定根目录
			alais /home/images;
		}
	}
相关推荐
xixichensh11 分钟前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端
梓雨枔19 分钟前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心24 分钟前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
小羊没烦恼!25 分钟前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
Leslie16528 分钟前
聚合不只是 GROUP BY:HashAggregate 与 SortAggregate 的内存账本
前端
ITOM运维行者1 小时前
PHP性能监控怎么做?从响应时间到慢函数的6个关键指标
前端·javascript·后端
成旭先生1 小时前
AI 文本审核 API:一段中文文本判风险等级、命中标签与处置建议
java·前端·人工智能·api接口·内容风控·文本审核·ugc审核
liangshanbo12151 小时前
前端面试题:AI 对话中超长消息导致内存溢出,怎么解决?
java·开发语言·前端
静默回滚1 小时前
PDF能打开却不能复制,原来是权限密码
前端
律宏阔1 小时前
Dart FFI 内存管理:用 using + Arena 替代嵌套 try-finally
前端·flutter