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;
		}
	}
相关推荐
闲坐含香咀翠24 分钟前
百万行数据透视表,我是怎么把 Vue 响应式开销砍到零的
前端·vue.js·性能优化
xiaopang25 分钟前
小红书小组件(miniwidget)开发实战:单页面viewState切换架构
前端
labixiong30 分钟前
告别scroll 监听:CSS 滚动驱动动画,主线程堵死也仍跟手
前端·css·html
用户3028225306834 分钟前
别让 Agent 被 Webhook 叫醒就开工:实现一个幂等启动层
javascript
云析赢指标公式网437 分钟前
文华WH6布林轨道均线强弱共振指标公式
前端·算法
许彰午1 小时前
34-安全复盘96个问题
前端·vue.js·安全
妙码生花1 小时前
PHP 各框架下和 Go 的性能比较
前端·后端·go
Csvn1 小时前
TypeScript 类型性能:让类型体操不再卡死编译器
前端
万少2 小时前
等不到 Apple 的折叠 iPhone,我用 DeepV4.1Flash + workBuddy 一句话自己造了一台
前端·javascript·后端
梦曦i2 小时前
uni-router v0.2.0重磅发布:全链路拦截+重复导航优化
前端·uni-app