一:NGINX跨域解决方式

  1.   #是否允许请求带有验证信息
  2. add_header Access-Control-Allow-Credentials true;
  3. #允许跨域访问的域名,可以是一个域的列表,也可以是通配符*
  4. add_header Access-Control-Allow-Origin http://static.enjoy.com;
  5. #允许脚本访问的返回头
  6. add_header Access-Control-Allow-Headers 'x-requested-with,content-type,Cache-Control,Pragma,Date,x-timestamp';
  7. #允许使用的请求方法,以逗号隔开
  8. add_header Access-Control-Allow-Methods 'POST,GET,OPTIONS,PUT,DELETE';
  9. #允许自定义的头部,以逗号隔开,大小写不敏感
  10. add_header Access-Control-Expose-Headers 'WWW-Authenticate,Server-Authorization';
  11. #P3P支持跨域cookie操作
  12. add_header P3P 'policyref="/w3c/p3p.xml", CP="NOI DSP PSAa OUR BUS IND ONL UNI COM NAV INT LOC"';
  13. if ($request_method = 'OPTIONS') {##OPTIONS类的请求,是跨域先验请求
  14. return 204;##204代表ok
  15. }

nginx请求分为简单请求和复杂请求

①简单请求:

当发起简单请求时,网页请求头里包含了

这个信息,网页就知道你这个页面是允许跨域的,他就会请求这个域名的后台代码,发起跨域请求

②复杂请求:

当发起复杂请求的时候,上面的配置就不会生效了,因为当nginx检测后,发现你是复杂请求,他不会请求跨域的网站后台代码,他会先询问你的网页是否允许我跨域访问,你如果允许我跨域,那我就请求,不允许就报错。

起关键作用的就是

二:压缩文件

  1.   location ~ /(.*)\.(html|js|css|png)$ {
  2. gzip on; # 启用gzip压缩,默认是off,不启用
  3.  
  4. # 对js、css、jpg、png、gif格式的文件启用gzip压缩功能
  5. gzip_types application/javascript text/css image/jpeg image/png image/gif;
  6. gzip_min_length 1024; # 所压缩文件的最小值,小于这个的不会压缩
  7. gzip_buffers 4 1k; # 设置压缩响应的缓冲块的大小和个数,默认是内存一个页的大小
  8. gzip_comp_level 1; # 压缩水平,默认1。取值范围1-9,取值越大压缩比率越大,但越耗cpu时间
  9.  
  10. root /etc/nginx/html/gzip;
  11. }

网络连接中,js,css等文件的大小有可能很大,一次请求传输的js,css文件中传输的时间会很大,所以nginx会将这些文件先压缩,然后再进行传输,以达到节省网络带宽,提高网站速度的作用.

三:防盗链(很少用)

  1.   location ^~ /mall {
  2. valid_referers *.enjoy.com;##对referer进行校验
  3. if ($invalid_referer) {##校验不过,拒绝访问
  4. return 404;
  5. }
  6. root /etc/nginx/html/gzip;
  7. }

nginx会检测你的请求是否来自  *.enjoy.com 网站的请求,如果不是则返回404

Nginx拓展功能合集的更多相关文章

  1. Nginx小功能合集

    13.1. 跨域处理 问题由来:浏览器拒绝执行其它域名下的ajax运作 ---如果浏览器在static.enjoy.com对应的html页面内,发起ajax请求偷盗www.enjoy.com域名下的内 ...

  2. Apache、tomcat、Nginx常用配置合集

    配置文件地址: Apache: /etc/httpd/conf/httpd.conf tomcat: /usr/local/tomcat/conf/server.xml Nginx  : /usr/l ...

  3. js小功能合集:计算指定时间距今多久、评论树核心代码、字符串替换和去除。

    1.计算指定时间距今多久 var date1=new Date('2017/02/08 17:00'); //开始时间 var date2=new Date(); //当前时间 var date3=d ...

  4. Power BI 3-4月功能更新培训合集

    ​Power BI 3-4月功能更新培训合集 Power BI每月功能的更新,都有很多大咖精辟解读,我们一直也都是积极中期待,相信所有P友如是或更甚. 视频学习可以结合微软Power BI 3-4月文 ...

  5. 中国国内 - 可用API合集

    中国国内 - 可用API合集 收录一篇中国国内可用API合集,分享给大家 目录 笔记 出行 词典 电商 地图 电影 即时通讯 开发者网站 快递查询 旅游 社交 视频 天气 团队协作 图片与图像处理 外 ...

  6. JS中的动态合集与静态合集

    JS的动态合集 前言 DOM是JavaScript重要组成部分,在DOM中有三个特别的集合分别是NodeList(节点的集合),NamedNodeMap(元素属性的集合)和HTMLCollection ...

  7. 最新最全的 Android 开源项目合集

    原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 ...

  8. 【开发必备】2018最新中国国内可用API合集

    中国国内可用API合集 笔记 OneNote - OneNote支持获取,复制,创建,更新,导入与导出笔记,支持为笔记添加多媒体内容,管理权限等.提供SDK和Demo. 为知笔记 - 为知笔记Wind ...

  9. Java 分布式框架面试题合集

    Java 分布式框架面试题合集 1.什么是 ZooKeeper? 答:ZooKeeper 是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性解决方案.设计目的是将那些复杂且容易出错的分布 ...

随机推荐

  1. zabbix 如何监控php-fpm?

    zabbix监控php-fpm主要是通过nginx配置php-fpm的状态输出页面,在正则取值.要nginx能输出php-fpm的状态首先要先修改php-fpm的配置,没有开启nginx是没有法输出p ...

  2. linux基础知识-常用命令

    ifconfig :查看当前ip hostname:查看主机名 vim /etc/hosts:修改地址映射 service iptables status : 查看防火墙状态 chkconfig ip ...

  3. 外部表及oracle数据库内存

    create table alert1 (log varchar2(1000))2 organization external3 (type oracle_loader4 default direct ...

  4. 6.zabbix微信告警3.2

    原文地址: https://blog.cactifans.com/2016/01/27/zabbix%E5%BE%AE%E4%BF%A1%E5%91%8A%E8%AD%A6/ pdf : 链接: ht ...

  5. PHP【Laravel】delayer基于redis的实现订单超时改变状态

    实现这个功能前你需要知道以下,不然可能会比较吃力:1.服务器的计划任务,shell脚本,或者你有宝塔自带的计划任务会方便很多.2.有所了解Redis.3.会写PHP业务逻辑. 好了进入在正题,这里使用 ...

  6. SpringMVC·form表单Date类型问题导致的400问题

    问题描述 前端传yyyy-MM-dd hh:mm:ss格式的时间其实是String类型导致JavaBean中的Date类型Setter报错,从而导致api请求400. 问题解决 我的解决方式: 在对应 ...

  7. Android获取手机和系统版本等信息的代码

    有时候需要统计手机的型号和版本号,利用程序可以获取到相应的手机信息,对比两部手机发现,厂商不同,某个信息显示方式也不尽相同,具体见: String phoneInfo = "Product: ...

  8. python数据结构:进制转化探索

    *********************************第一部分*************************************************************** ...

  9. Java Software Engineer Skill Map

    # Java Software Engineer Skill Map## Basic### Core Java- Java The Complete Reference Ninth Edition.p ...

  10. (59)C# IIS Express 设置

    支持非localhost访问 本地测试时 修改 localhost改成127.0.0.1