nginx配置跨域gzip加速代理详细讲解

Posted myIvan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置跨域gzip加速代理详细讲解相关的知识,希望对你有一定的参考价值。

1、配置跨域

这个很简单,直接打开配置nginx.conf ,在http下配置下面三行代码;当然如果你是想某一个虚拟主机下跨域,那就在哪个server下面添加

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

2、配置gzip,压缩访问的js、css 、图片,提高网站访问速度

gzip on;                      #开启Gzip
gzip_min_length  1k;          #大于1K的才压缩
gzip_buffers     4 16k;       #以16k为单位,按照原始数据大小以16k为单位的4倍申请内
gzip_comp_level  2;            #压缩级别,1-10,数字越大压缩的越好,时间也越长
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss; #压缩的文件类型
gzip_vary on;                 #启用应答头"Vary: Accept-Encoding"
gzip_proxied   expired no-cache no-store private auth; #Nginx作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用gzip压缩,是否压缩取决于请求头中的“Via”字段
gzip_disable   "MSIE [1-6].";#IE1-6不压缩

3、代理配置

server{
	listen 80;                       #监听端口
	listen 443 ssl;                  #如果是https 访问 开启证书验证
	server_name www.test.cn test.cn; #域名,多个域名空格分开
	ssl_certificate /usr/local/nginx/conf/cert/test.cn.crt; 
	ssl_certificate_key /usr/local/nginx/conf/cert/test.cn.key;
	location / {
		proxy_pass http://168.102.45.111/; #代理转发的地址
	}
}

配置好后,重启nginx ,然后访问 https://www.test.cn/login/index.html   就等于 直接 访问  http://168.102.45.11/login/index.html  ;但是浏览器显示的地址还是https://www.test.cn域名的,这就有点类似框架,看到的未必是真的。做代理可以防止流量攻击。

4、server_name 匹配优先级

(1)完全匹配

(2)通配符在前的,如*.test.com

(3)在后的,如www.test.*

(4)正则匹配,如~^.www.test.com$

如果都不匹配

(5)优先选择listen配置项后有default或default_server的

(6)找到匹配listen端口的第一个server块

 

以上是关于nginx配置跨域gzip加速代理详细讲解的主要内容,如果未能解决你的问题,请参考以下文章

Nginx配置解决跨域,及配置讲解

vue加载nginx内存狂涨不加载

CORS跨域与Nginx反向代理跨域优劣对比

测试技能扩展 | Nginx知识

Nginx(Gzip加速访问速度)

Nginx超详细讲解