编程学习网 > 服务器 > Nginx > nginx配置跨域、gzip加速、代理示例
2020
04-22

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块


扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取