1、防盗链有两种实现方式

第一种采用了URL重写模块

location ~.*\.(jpg|gif|png)$ {valid_referers none blocked *.demo.com demo.com 192.168.1.175;if ( $invalid_referer ) {#rewrite ^/ 错误跳转链接;return 403;}
}

解析:判断文件是jpg,gif,png格式的(自己可以随意设置一些文件的后缀),则做以下操作

valid_referers   后边设置为none,是允许本网站访问

blocked  后为允许访问的链接,地址

第二种采用nginx_accesskey模块进行配置

首先我们需要下载 Nginx-accesskey-2.0.3.tar.gz安装包,解压后打开config文件,修改HTTP_MODULES="$HTTP_MODULES $HTTP_ACCESSKEY_MODULE"为

HTTP_MODULES="$HTTP_MODULES ngx_http_accesskey_module",

然后保存退出

我们可以在phpinfo()中查看时候安装成功这个模块。

下一步就是配置文件中进行配置

location /download {accesskey             on;accesskey_hashmethod  md5;accesskey_arg         "key";accesskey_signature   "mypass$remote_addr";}

解析:给download文件夹下的文件进行防盗设置

访问测试脚本如下:

<?php
$ipkey= md5("mypass".$_SERVER['REMOTE_ADDR']);
$output_add_key="<a href=http://www.example.cn/download/G3200507120520LM.rar?key=".$ipkey.">
download_add_key</a>";
$output_org_url="<a href=http://www.example.cn/download/G3200507120520LM.rar>download_org_path</a>";echo $output_add_key;
echo "<br>";
echo $output_org_url;
?>

访问第一个download_add_key链接可以正常下载,第二个链接download_org_path会返回403 Forbidden错误。

2、动静分离

所谓动静分离就是将静态页面和静态页面分开来访问,我们可以做个判断在配置文件中

location ~ (\.php)$ {proxy_pass http://192.168.1.175:80;}

判断是动态页面,则访问后边的地址。

3、缓存

①、在配置文件中配置

proxy_cache_path /data/nginx/cache/webserver levels=1:2 keys_zone=webserver:20m max_size=1g;
server { listen       80; server_name  localhost;        #charset koi8-r; #access_log  logs/host.access.log  main;        location / { proxy_pass      http://webservers; proxy_set_header  X-Real-IP  $remote_addr;           proxy_cache webserver;           proxy_cache_valid 200 10m;    }
}

配置后重启,重启错误,调试一下空格就好了

②、创建缓存目录

mkdir -pv /data/nginx/cache/webserver

③、访问我们就可以用调试工具看到是否是缓存,是缓存就可以看见    X-cache=HIT

4、负载均衡

所谓负载均衡就是就是调节服务器的平衡力,让服务器的承受能力平均一下

配置如下:

Upstream  自定义域名 {server 192.168.1.252:80;server 192.168.1.253:80;
}
server {listen       80;server_name  localhost;………………location / {proxy_pass http://自定义域名proxy_set_header Host   $host;proxy_set_header X-Peal-IP $remote_addr;proxy_set_header X-Forwarded-for $proxy_add_x_forwarded_for;}
}

这样无论我们有多少台服务器就添加多少台,可以实现服务器的均衡

5、反向代理

所谓反向代理就是定义这台服务器反过来代理另一台自己指定的服务器

配置如下

location / {proxy_pass     需要代理的服务器IP;
}

特别注意,以上配置配置完成后都要重新加载下nginx

重新加载命令  nginx -s reload

如果经过多次测试都不好使,那么 就将nginx的进行杀死之后在启动nginx

查看进程  ps aux | grep nginx     杀死  kill -9  进程号

转载于:https://blog.51cto.com/zrwx123/1650340

nginx的防盗链,动静分离,缓存,负载均衡,反向代理相关推荐

  1. Nginx动静分离实现负载均衡

    转载自   Nginx动静分离实现负载均衡 前期准备 使用Debian环境.安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等. Nginx.conf配置 1 # 定义Ngin ...

  2. Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分...

    Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fe ...

  3. Nginx运维之一 反向代理、动静分离、负载均衡

    Nginx运维之一 反向代理.动静分离.负载均衡 Nginx简述 Nginx 优势功能 Tengine 反向代理 正向代理 反向代理 动静分离 负载均衡 Nginx简述 Nginx是lgor Syso ...

  4. 使用nginx实现动静分离的负载均衡集群

    架构图 本次要实现的架构图: 工作中我们希望这样: 静态文件处理:可以使用nginx 或apache 动文件处理: apache ,tomcat 图片文件处理: squid 我们可以使用nginx实现 ...

  5. nginx进阶-动静分离,负载均衡

    目录结构 nginx动静分离,负载均衡简单使用 动静分离,负载均衡 1.官网: http://nginx.org 2.解压: tar -zxvf nginx-1.13.9.tar.gz -C /usr ...

  6. nginx动静分离配置_Nginx 动静分离与负载均衡的实现

    一.前提 企业中,随着用户的增长,数据量也几乎成几何增长,数据越来越大,随之也就出现了各种应用的瓶颈问题. 问题出现了,我们就得想办法解决,一般网站环境,均会使用LAMP或者LNMP,而我们对于网站环 ...

  7. Nginx配置文件说明-反向代理,动静分离,负载均衡

    #user nobody;#开启进程数 <=CPU数 worker_processes 1;#错误日志保存位置 #error_log logs/error.log; #error_log log ...

  8. Linux中 Nginx+uwsgi部署flask项目 Nginx负载均衡 反向代理

    Nginx是一款自由的.开源的.高性能HTTP服务器和反向代理服务器. 轻量级,同样起web服务,比 apache占用更少的内存及资源 抗并发, nginx处理请求是异步非阻塞的,而 apache则是 ...

  9. day10 负载均衡反向代理

    day10 负载均衡反向代理 1.复习 1.nginx+python的流程1.1安装基础环境yum install python3 pip3 install django==2.2.2安装uwsgi之 ...

  10. Nginx代理——正向、反向代理,动静分离和负载均衡

    文章目录 一.Nginx代理概述 (1)什么是正向代理和反向代理 -正向代理: -反向代理 -反向代理和正向代理的区别 (2)配置代理 -Nginx代理配置语法 -配置正向代理 -Nginx反向代理示 ...

最新文章

  1. 2022-2028年中国石化行业节能减排投资分析及前景预测报告
  2. 教你如何配置Tomcat 绑定指定目录的工程文件
  3. 密码学AES算法_S盒_C值搜索
  4. java中除了跟数据相关的知识_Java的基本数据类型及知识介绍
  5. 微信小程序按钮Button使用详解
  6. python使得ffmpeg更加强大
  7. 95-140-108-源码-transform-算子process
  8. 给ListView视图添加行号
  9. 计算机与或非异或符号,2.6 与非、或非及异或门(1)
  10. 重载(Overload)和重写(Override)的区别?
  11. 数据结构与算法st1:稀疏数组的学习(五子棋的存盘与续盘)
  12. 蚁群优化算法之精华蚂蚁系统和排列蚂蚁系统学习笔记
  13. Python脚本批量转换图片格式至ico
  14. Cisco路由器内部网关协议(IGP)实验:OSPF
  15. 框架系列课程-Spring新版本
  16. mac vscode latex 中文乱码 怎么解决
  17. http各个状态码的含义:
  18. 2022年MySQL最新面试题
  19. uniapp + vue3微信小程序开发(4)身份信息认证
  20. NFC无线充电(WLC)介绍

热门文章

  1. 中国电信基于Mesos+Docker的运维自动化在CDN中的实践
  2. LMV324IPWR四路低电压轨至轨输出运算放大器TI
  3. firefox 搜索栏新建标签页打开
  4. Linux防火墙状态更改
  5. video标签android全屏,视频video标签在移动端微信中默认全屏播放的解决方案
  6. matlab 字数统计,matlab中数据及统计描述和分析.doc
  7. sql语句如何对日期进行模糊查询
  8. 凸透镜成像实验软件_凸透镜成像实验,你玩的远远不够!
  9. node.js 生成文件_如何使用Node.js在几秒钟内生成模拟数据
  10. 案例:数字孪生打造智慧矿山三维可视化系统