美文网首页
Nginx的进阶二

Nginx的进阶二

作者: 小狐憨憨 | 来源:发表于2020-11-19 10:05 被阅读0次

Nginx的进阶二

nginx的配置跨域问题

为什么会出现跨域问题

出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)

什么是跨域

当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域

nginx解决跨域问题

#设置需要跨域的指定文件
指定请求路径带上请求头
location /test/ {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET,POST';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
    #设置路径文件路径
    alias /data/web/res/;
}   
#设置允许全局跨域
server {
   ....
   #还可以添加是否携带cookie
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET,POST';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';  
}

配置静态资源防盗链

在nginx中我们可以配置防盗链,防止别人引用我们的资源服务

#对指定server块的全局设置

#对站点验证,配置静态资源防盗链
valid_referers ip或者域名 如:*.xioahu.com; //表示xiaohu.com的一级或者二级进来都可以引用,但是别的站点引用资源服务就会进入下面的判定框404
#非法引入会进入下方判断
if ($invalid_referer){
    return 404;
}


#可以在指定的路径设置
location ~ .*\.(jpg|gif|png)$ {
  
        valid_referers none blocked 49.233.145.78; # 允许跳转的ip
        if ($invalid_referer) {
             return 403;
        }
        root /opt/app/code/images;
}


nginx开启gzip压缩

http {
  # 开启gzip
  gzip on;

  # 启用gzip压缩的最小文件;小于设置值的文件将不会被压缩
  gzip_min_length 1k;

  # gzip 压缩级别 1-10 
  #级别越大压缩越多,cpu使用比也多
  gzip_comp_level 2;

  # 进行压缩的文件类型。
  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;

  # 是否在http header中添加Vary: Accept-Encoding,建议开启 下图可以看到
  gzip_vary on;
}

[图片上传失败...(image-6e4f97-1605751537059)]

相关文章

  • Nginx的进阶二

    Nginx的进阶二 nginx的配置跨域问题 为什么会出现跨域问题 出于浏览器的同源策略限制。同源策略(Sameo...

  • Nginx进阶一

    Nginx进阶一 Nginx的首页解析过程 在Nginx入门链接[https://www.yuque.com/u4...

  • Nginx进阶

    nginx 日志文件详解 监听 nginx 虚拟机配置 基于域名的虚拟主机

  • Nginx 进阶

    1. Nginx 多进程结构 Master Process Worker Process Cache Manage...

  • Nginx(三)Nginx进阶

    内置变量 if语句(没有else)常用正则: =, != 比较的一个变量和字符串 ~, ~...

  • nginx 基础+进阶

    更新日志:20170818 更新yum安装 和 多前端部署80端口 截图目录: [toc] nginx(基础) 准...

  • 看云文档

    《nginx 入门到进阶的教程》《一起学 koa》《网络爬虫系列》《翻译漫谈——怎样翻译更地道》《The Linu...

  • docker安装nginx

    一、nginx安装 docker pull nginx:latest 二、nginx启动 docker run -...

  • Swift进阶之RxSwift(四)

    前言 Swift进阶之RxSwift(一) Swift进阶之RxSwift(二) Swift进阶之RxSwift(...

  • Nginx反向代理和负载均衡相关文章

    聊聊Nginx的反向代理 Nginx(一)-简介与安装 Nginx(二)-nginx.conf 配置文件 Ngin...

网友评论

      本文标题:Nginx的进阶二

      本文链接:https://www.haomeiwen.com/subject/hqociktx.html