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;
		}
	}
相关推荐
xkxnq9 小时前
第五阶段:Vue3核心深度深挖(第74天)(Vue3计算属性进阶)
前端·javascript·vue.js
三小河10 小时前
Agent Skill与Rules的区别——以Cursor为例
前端·javascript·后端
Hilaku10 小时前
不要在简历上写精通 Vue3?来自面试官的真实劝退
前端·javascript·vue.js
三小河10 小时前
前端视角详解 Agent Skill
前端·javascript·后端
Aniugel10 小时前
单点登录(SSO)系统
前端
颜酱10 小时前
二叉树遍历思维实战
javascript·后端·算法
鹏多多10 小时前
移动端H5项目,还需要react-fastclick解决300ms点击延迟吗?
前端·javascript·react.js
serioyaoyao10 小时前
上万级文件一起可视化,怎么办?答案是基于 ParaView 的远程可视化
前端
万少10 小时前
端云一体 一天开发的元服务-奇趣故事匣经验分享
前端·ai编程·harmonyos
WindrunnerMax10 小时前
从零实现富文本编辑器#11-Immutable状态维护与增量渲染
前端·架构·前端框架