location配置

location ~ ^/v1/(apple|banana)/ {  #uri以v1/apple或者v1/banana开头的,走以下的逻辑,验证签名
            set $channel_name $cookie_channel_name;  # 设置channel_name变量为cookie中的channel_name的值
            secure_link $arg_sign,$arg_expire;  # arg中的签名和过期时间
            secure_link_md5 "$uri $arg_version_name $channel_name $arg_et  gohell";

            set $check_status "";

            # checksum
            if ($secure_link = "") {
                set $check_status 403;
            }
            if ($arg_nonce_str = "") {
                set $check_status 200;
            }
            # expire
            if ($secure_link = "0") {
                set $check_status 410;
            }
            if ($arg_sign = "") {  # arg中无签名的直接返回504
                set $check_status 504;
            }
            if ($arg_version_name = "1.1.4.7") {  # arg中有version_name参数值为1.1.4.7的不验证签名
                set $check_status 200;
            }
            if ($arg_mmmm != "") {  # arg中有mmmm参数的不验证签名
                set $check_status 200;
            }
            if ($check_status = 403) {
                return 403;
            }
            if ($check_status = 410) {
                return 410;
            }
            if ($check_status = 504) {
                return 504;
            }

            proxy_pass http://127.0.0.1:10001;
        }


        location / {
            proxy_pass http://127.0.0.1:10001;
        }

相关文章:

  • 2022-12-23
  • 2021-10-04
  • 2021-06-17
猜你喜欢
  • 2022-02-16
  • 2022-12-23
  • 2021-08-30
  • 2021-12-09
  • 2021-10-30
相关资源
相似解决方案