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

您的位置:首頁技術文章
文章詳情頁

代理 - 一個nginx需求,訪問web服務時,若用戶為測試用戶則轉發到web服務的測試版本

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

問題描述

需求細節:一個web服務,分為正式服務器和測試服務器,通過nginx代理,用戶首先訪問時會提交登錄請求(post方式)到nginx上,通過nginx判斷登錄用戶是否為測試用戶,若為測試用戶則轉發測試服務器。

碰到的問題:1.判斷用戶已經實現了,怎么實現后續請求都發到同一服務器?想通過保存一個變量來實現,但是nginx變量是不能跨請求存在的,能否通過文件讀寫來保存變量?。

2.跳轉方式如何實現?下面是我的部分代碼首先訪問 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;} }

代理 - 一個nginx需求,訪問web服務時,若用戶為測試用戶則轉發到web服務的測試版本

問題解答

回答1:

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

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

跳轉的方式用 proxy_pass 應該沒問題,挺好的。

標簽: web
主站蜘蛛池模板: 国产一区二区精品丝袜 | 黄色网址在线免费观看 | 久久精品视频网 | av手机版 | 国产精品999 | 男人午夜影院 | 欧美成人激情视频 | 欧美一级淫片bbb一84 | 91午夜精品亚洲一区二区三区 | 中文字幕一区二区在线播放 | 成人一级黄色片 | 日韩在线欧美 | 在线观看国产免费视频 | 国产成人亚洲精品自产在线 | 成人国产精品免费观看 | 超碰97在线免费观看 | 一级欧美一级日韩 | 久久久久九九九 | 日本一级淫片色费放 | 激情视频小说 | 亚洲综合激情 | 国产乱人乱偷精品视频 | 特级黄色片 | 日本伊人网 | 国产999久久久 | 黄色一级大片 | 午夜影院在线免费观看 | 国产美女自拍视频 | 久久久久久久久久久久久久久久久 | 黄视频网站在线观看 | 男女啪啪网站 | 精品国产999久久久免费 | 亚洲日本视频 | 色综合欧美 | 亚洲精品午夜 | 欧美久久一区二区 | 日本a在线观看 | 九九视频在线观看 | 日韩一区二区视频在线观看 | 国产综合久久久 | 国产午夜影院 |