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;
		}
	}
相关推荐
刘发财40 分钟前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
牛奶3 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶3 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
Kagol6 小时前
🎉OpenTiny NEXT-SDK 重磅发布:四步把你的前端应用变成智能应用!
前端·开源·agent
GIS之路7 小时前
ArcGIS Pro 中的 notebook 初识
前端
JavaGuide7 小时前
7 道 RAG 基础概念知识点/面试题总结
前端·后端
ssshooter7 小时前
看完就懂 useSyncExternalStore
前端·javascript·react.js
格砸8 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
Live000009 小时前
在鸿蒙中使用 Repeat 渲染嵌套列表,修改内层列表的一个元素,页面不会更新
前端·javascript·react native
柳杉9 小时前
使用Ai从零开发智慧水利态势感知大屏(开源)
前端·javascript·数据可视化