1. 程式人生 > >Openresty 學習筆記(三)擴展庫之neturl

Openresty 學習筆記(三)擴展庫之neturl

編寫 hub clas 擴展庫 HR 寫文件 http www. 加密

github地址:https://github.com/golgote/neturl

最近在搞一個視頻加密播放,中間使用要用lua 匹配一個域名,判斷該域名是否正確

PS:使用PHP很好做,lua 的沒找到呀

preg_match("/^((http|https):\/\/)?([^\/]+)/i", "http://www.tinywan.com/p/124.html", $matches); 
var_dump($matches);

// 輸出結果
array(4) {
  [0]=>
  string(22) "http://www.tinywan.com"
  [1]=>
  string(7) "http://"
  [2]=>
  string(4) "http"
  [3]=>
  string(15) "www.tinywan.com"
}

下來使用lua 在Nginx 中實現

(1)直接下載官網的url.lua文件,放在 $PATH/openresty/lualib/resty 目錄下

(2)編寫文件 ngx_re_match.lua

local url = require "resty.url"
local u = url.parse("https://www.tinywan.com/p/124.html")
ngx.say("host: ",u.host)

(3)location 匹配

location /lua_match {
    content_by_lua_file .../nginx/conf/lua/ngx_re_match.lua;
}

(4)通過curl 請求訪問結果 

curl https://hls-auth.tinywan.com/lua_match
host: www.tinywan.com

  

  

  

Openresty 學習筆記(三)擴展庫之neturl