av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

代理 - 一個(gè)nginx需求,訪問web服務(wù)時(shí),若用戶為測(cè)試用戶則轉(zhuǎn)發(fā)到web服務(wù)的測(cè)試版本

瀏覽:119日期:2023-08-16 08:30:29

問題描述

需求細(xì)節(jié):一個(gè)web服務(wù),分為正式服務(wù)器和測(cè)試服務(wù)器,通過nginx代理,用戶首先訪問時(shí)會(huì)提交登錄請(qǐng)求(post方式)到nginx上,通過nginx判斷登錄用戶是否為測(cè)試用戶,若為測(cè)試用戶則轉(zhuǎn)發(fā)測(cè)試服務(wù)器。

碰到的問題:1.判斷用戶已經(jīng)實(shí)現(xiàn)了,怎么實(shí)現(xiàn)后續(xù)請(qǐng)求都發(fā)到同一服務(wù)器?想通過保存一個(gè)變量來實(shí)現(xiàn),但是nginx變量是不能跨請(qǐng)求存在的,能否通過文件讀寫來保存變量?。

2.跳轉(zhuǎn)方式如何實(shí)現(xiàn)?下面是我的部分代碼首先訪問 127.0.0.1/smdb

location /smdb {default_type ’text/plain’;set $jump 0;access_log /var/log/nginx/smdb_access.log smdb;error_log /var/log/nginx/error.log;log_subrequest on;lua_need_request_body on;client_max_body_size 50k;client_body_buffer_size 50k;content_by_lua ’ ngx.req.read_body() local args, err = ngx.req.get_post_args() if not args then ngx.say('failed to get post args: ', err) return end for key, val in pairs(args) do if val == 'test' thenngx.var.jump = '1' end end ngx.exec('/tosmdb')’; } location /tosmdb {default_type ’text/plain’;echo $jump;#注釋掉下面,這里顯示為1即判斷出了用戶if ($jump = '1'){ proxy_pass http://smdbtest;}if ($jump = '0'){ proxy_pass http://smdb;} }

代理 - 一個(gè)nginx需求,訪問web服務(wù)時(shí),若用戶為測(cè)試用戶則轉(zhuǎn)發(fā)到web服務(wù)的測(cè)試版本

問題解答

回答1:

你需要把用戶登錄后的憑證都放到 cookie 里面,然后就方便做驗(yàn)算了。

詳見 https://github.com/cloudflare/lua-resty-cookie 里面的例子。

跳轉(zhuǎn)的方式用 proxy_pass 應(yīng)該沒問題,挺好的。

標(biāo)簽: web
主站蜘蛛池模板: www.99精品| 欧美一区二区三 | 亚洲精品一区二区三区免 | 久久久精品网站 | 欧美中文字幕 | 精品欧美一区二区三区久久久 | 999久久久精品 | 国产av毛片 | a级免费观看视频 | 精品国产一区一区二区三亚瑟 | 亚洲一区在线观看视频 | 日韩欧美精品一区 | 久久久91 | 中日av | 国产 日韩 欧美 制服 另类 | 最新日韩在线视频 | 国产成在线观看免费视频 | 日本亚洲一区二区 | 欧美一级在线免费观看 | 日韩视频国产 | 日本黄色片免费在线观看 | 国产高清av免费观看 | 亚洲欧美精品在线观看 | 日韩在线看片 | 日日干天天干 | 午夜伦4480yy私人影院 | 亚洲视频在线播放 | 国产精品无 | 精品久久久久久久 | 99精品国产一区二区青青牛奶 | 中文在线一区二区 | 久久另类视频 | 成人一区二区三区在线观看 | 97国产精品视频人人做人人爱 | 国产亚洲一区二区三区 | 久草热视频| 日韩电影一区二区三区 | 日韩欧美大片在线观看 | 成人在线视频网站 | 日韩欧美一级片 | 精品视频一区二区三区 |