真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

Kongserverless插件怎么用

這篇文章將為大家詳細講解有關Kong serverless插件怎么用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

創(chuàng)新互聯(lián)專注于丹棱網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供丹棱營銷型網站建設,丹棱網站制作、丹棱網頁設計、丹棱網站官網定制、微信小程序開發(fā)服務,打造丹棱網絡公司原創(chuàng)品牌,更為您提供丹棱網站排名全網營銷落地服務。

概述

kong的serverless插件可以在請求的生命周期內,動態(tài)執(zhí)行l(wèi)ua代碼。

例子一

下面來看一個刪除請求url中的jsessionid的例子。

現(xiàn)在請求中有如下url導致后端服務報錯:pc/courses/jcqzf9dc;jsessionid=94DB14C127698FCAFEA6599AEE93C252/last-chapter。 url中出現(xiàn)jsessionid是因為在瀏覽器不支持cookie的情況下,tomcat的url重寫。其實就算url中帶有;jsessionid=xxxxx,在tomcat,spring boot的架構下是沒有什么問題的,但是后端框架中使用了spring security,spring security有一些安全的要求,默認情況下是不允許url中帶sessionid來維持會話的,錯誤消息為:The request was rejected because the URL contained a potentially malicious String ";"。由于后端服務是無狀態(tài),使用jwt來鑒權,根本不需要cookie與session,此sessionid可能是老的認證服務導致。

暫時無法找到原因,出錯的服務由網關代理,作為一個網關,改寫請求是再平常不過之功能。通?,F(xiàn)有的插件只提供增刪改query 參數,header,body等簡單功能,對于上述情況則無能為力。通過serverless插件動態(tài)執(zhí)行自己的代碼,在access階段使用如下代碼:

    local url = ngx.var.upstream_uri;
    local sessionLength = 32;
    local start, last = string.find(url, ";jsessionid=");
    if start ~= nil then
        local newUrl = string.sub(url, 0, start - 1) .. string.sub(url, last + 1 + sessionLength);
        kong.log.err("刪除url jsessionid,原始url:", url, "修改后:", newUrl);
        ngx.var.upstream_uri = newUrl;
    end

無論jsessionid出現(xiàn)在url中的什么位置,把它刪除掉,然后修改upstream_uri。access階段是在匹配到路由之后,在轉發(fā)給上游服務之前,此時匹配路由的前綴已經刪除掉,要修改轉發(fā)給上游服務的url就是修改ngx.var.upstream_uri這個變量的值。雖然lua代碼不需要分號結尾,但是要當做一段代碼在serverless中執(zhí)行,必須加分號。在pre-function插件中的access階段粘貼上述代碼,即可快速,有效,無更新的暫時解決上述問題。

Kong serverless插件怎么用

例子二

無后端的授時服務。

假設需要網關提供一個接口來獲取當前的時間戳。access階段是匹配到路由后,轉發(fā)給上游服務處理前。使用serverless插件,在access階段填寫如下代碼:

return kong.response.exit(200,{timestamp=os.time()})

配置一個service,此service地址可以隨便寫,因為請求根本不會轉發(fā)給這個地址,在access階段就返回響應了。再配置路由地址為/time,即可實現(xiàn)返回當前時間戳。

關于Kong serverless插件怎么用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


分享題目:Kongserverless插件怎么用
標題URL:http://weahome.cn/article/ggdpcs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部