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;
		}
	}
相关推荐
掘金安东尼6 分钟前
Vercel:我们为 React2Shell 发起了一项价值 100 万美元的黑客挑战
前端·javascript·github
掘金安东尼9 分钟前
浏览器处理Base64数据的速度有多快?
前端·javascript·github
掘金安东尼10 分钟前
为不同场景设计多样化的页面过渡动画
前端·javascript·github
elangyipi12316 分钟前
2025 搜索优化新革命:GEO 正在悄然取代 SEO?
前端·人工智能
持续升级打怪中17 分钟前
深入解析深浅拷贝:原理、实现与最佳实践
开发语言·前端·javascript
我有一棵树17 分钟前
空值合并运算符 ?? ,|| 的替代方案
前端·javascript
Apifox17 分钟前
Apifox 12 月更新| AI 生成用例同步生成测试数据、接口文档完整性检测、设计 SSE 流式接口、从 Git 仓库导入数据
前端·后端·测试
禾叙_22 分钟前
【NIO】ByteBuffer
前端·html·nio
chilavert31822 分钟前
技术演进中的开发沉思-278 AJax :Rich Text(上)
前端·javascript·ajax
Jay丶27 分钟前
*** 都不用tailwind!!!哎嘛 真香😘😘😘
前端·javascript·react.js