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模块指令

模块指令

内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,涵盖正向与逆向运动学求解、正向动力学控制,并采用拉格朗日-欧拉法推导逆向动力学方程,所有内容均通过Matlab代码实现。同时结合RRT路径规划与B样条优化技术,提升机械臂运动轨迹的合理性与平滑性。文中还涉及多种先进算法与仿真技术的应用,如状态估计中的UKF、AUKF、EKF等滤波方法,以及PINN、INN、CNN-LSTM等神经网络模型在工程问题中的建模与求解,展示了Matlab在机器人控制、智能算法与系统仿真中的强大能力。; 适合人群:具备一定Ma六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)tlab编程基础,从事机器人控制、自动化、智能制造、人工智能等相关领域的科研人员及研究生;熟悉运动学、动力学建模或对神经网络在控制系统中应用感兴趣的工程技术人员。; 使用场景及目标:①实现六自由度机械臂的精确运动学与动力学建模;②利用人工神经网络解决传统解析方法难以处理的非线性控制问题;③结合路径规划与轨迹优化提升机械臂作业效率;④掌握基于Matlab的状态估计、数据融合与智能算法仿真方法; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点理解运动学建模与神经网络控制的设计流程,关注算法实现细节与仿真结果分析,同时参考文中提及的多种优化与估计方法拓展研究思路。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值