nginx笔记(三)

1.rewrite

Syntax:rewrite regex replacement [flag];
Default:—
Context:server,location,if

1.1 flag类型

  • last:停止rewrite检测
  • break:停止rewrite检测
  • redirect:返回302临时重定向,地址栏会显示跳转后的地址
  • permanent:返回301永久重定向,地址栏会显示跳转后的地址
1.1.1 示例

server {
    listen       86;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    root /opt/app/code;
    location ~ ^/break {
        rewrite ^/break /test/ break;
    }

    location ~ ^/last {
        rewrite ^/last /test/ last;
    }

    location /test/ {
        default_type application/json;
        return 200 '{"status":"success"}';
    }
}

这里访问break显示404,last会显示test的内容。是由于last相当于重新请求了一次url请求,而break会到/opt/app/code目录下查找test文件,由于没有该文件,所以显示404。

2.secure_link_module

  • 制定并允许检查请求的链接的真实性以及保护资源免遭未经授权的访问
  • 限制链接生效周期

Syntax:secure_link expression;
Default:—
Context:http,server,location

Syntax:secure_link_md5 expression;
Default:—
Context:http,server,location

2.1 示例

#!/bin/sh
#
#Auth:
servername="203.195.133.72:87"
download_file="/download/web.jpg"
time_num=$(date -d "2019-10-01 00:00:00" +%s)
secret_num="ljc"


res=$(echo -n "${time_num}${download_file} ${secret_num}"|openssl md5 -binary | openssl base64 | tr +/ -_ | tr -d =)
echo "http://${servername}${download_file}?md5=${res}&expires=${time_num}"
  • test_safe_down.conf
server {
    listen       87;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
    root /opt/app/code;

    location / {
        secure_link $arg_md5,$arg_expires;
        secure_link_md5 "$secure_link_expires$uri ljc";
        if ($secure_link = "") {
           return 403;
        }

        if ($secure_link = "0") {
           return 410;
        }
    }

3.geoip_module

  • 安装

yum install nginx-module-geoip

  • 修改nginx.conf配置

load_module “modules/ngx_http_geoip_module.so”;
load_module “modules/ngx_stream_geoip_module.so”;

  • 下载相应的地域和城市数据库文件
#!/bin/sh
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

3.1 http_geoip_module使用场景

  • 区别国内外作HTTP访问规则
  • 区别国内城市地域作HTTP访问规则

4.Https

4.1 生成Ca证书

  • 确保具有openssl和http_ssl_module模块

  • 生成key密钥

在nginx下创建ssl_key文件,在ssl_key文件下执行 openssl genrsa idea -out ljc.key 1024 命令。此时该目录下就会出现ljc.key目录。

生成key

  • 生成证书签名签名文件(csr文件)

执行 openssl req -new -key ljc.key -out ljc.csr 命令,并填写信息。
csr

  • 生成证书签名文件(CA文件)

执行 openssl x509 -req -days 3650 -in ljc.csr -signkey ljc.key -out ljc.crt 命令。
CA

4.2Nginx的HTTPS语法配置

Syntax:ssl on | off;
Default:ssl off;
Context:http,server

Syntax:ssl_certificate file;
Default:—;
Context:http,server

Syntax:ssl_certificate_key file;
Default:—;
Context:http,server

4.3 测试CA

  • 新建test_https.conf
server
{
   listen   443 ssl;    //这里是和老版本的有所不同(原来使用ssl on)
   server_name IP;
   ssl_certificate /etc/nginx/ssl_key/ljc.crt;
   ssl_certificate_key /etc/nginx/ssl_key/ljc.key;

   index index.html index.htm;
   location / {
        root /opt/app/code;
   }
}

5.Lua

  • 安装

yum install Lua

5.1 Nginx调用lua模块指令

模块指令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值