nginx 는 post 요청 의 인 자 를 가 져 오고 post 요청 을 get 요청 으로 변환 합 니 다.

2468 단어 11linux
최근 에 한 줄 과 합작 하여 한 줄 의 앱 으로 우리 의 웹 을 방문 하면 post userid 의 인자, 이 user 를 가 져 와 야 합 니 다.id 검증 좀 해 봐.전단 동료 가 이 post 요청 을 get 요청 으로 변환 해 야 userid 매개 변수.이 요 구 를 받 자마자 어리둥절 한 표정 으로 이틀 동안 각종 자료 조사 와 실험 을 거 쳐 마침내 문 제 를 해결 했다.여기 서 실 현 된 방안 은 nginx + lua 를 통 해 post 가 요청 한 매개 변수 환경 을 얻 는 것 입 니 다.
centos:6.x  or  7.x
nginx:1.6.3                                     
LuaJIT:2.0.5
lua-nginx-module:0.10.2
ngx_devel_kit:0.3.0
준비 환경
1, 설치 LuaJIT
tar xvf LuaJIT-2.0.5.tar.gz
cd LuaJIT-2.0.5
make PREFIX=/usr/local/lj2
make install PREFIX=/usr/local/lj2

2, lua - nginx - module 설치
https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz
tar xvf lua-nginx-module-0.10.2.tar.gz
mv lua-nginx-module-0.10.2 /usr/local/lua-nginx-module

3, 설치 ngxdevel_kit
https://github.com/simpl/ngx_devel_kit/archive/v0.3.0rc1.tar.gz
tar xvf ngx_devel_kit-0.3.0rc1.tar.gz
mv ngx_devel_kit-0.3.0rc1 /usr/local/ngx_devel_kit

4, 설치 nginx
tar xvf nginx-1.6.3.tar.gz
cd nginx-1.6.3
export LUAJIT_LIB=/usr/local/lj2/lib
export LUAJIT_INC=/usr/local/li2/include/luajit-2.0
./configure --prefix=/usr/local/nginx --with-http_v2_module --with-ld-opt="-Wl,-rpath,/usr/local/lj2/lib/" --add-module=/usr/local/lua-nginx-module --add-module=/usr/local/ngx_devel_kit
make
make install

설정 nginx
    server {
        listen       80;
        server_name  www.test.com;
        location /{
                root html;
                index index.html;
                access_log logs/test.log;
                set $user_id '';
                rewrite_by_lua '
                        local request_method = ngx.var.request_method
                        if "GET" == request_method then
                                local arg = ngx.req.get_uri_args()["user_id"] or 0
                                ngx.var.user_id = arg
                        elseif "POST" == request_method then
                                ngx.req.read_body()
                                local arg = ngx.req.get_post_args()["user_id"] or 0
                                ngx.var.user_id = arg
                        end;';
                error_page   405 =200 http://$host$request_uri#/?user_id=$user_id;
        }
    }

여기 서 접촉 하 다
모 은행 앱  post 요청 매개 변수 userid   get 요청 으로 성공 변환!

좋은 웹페이지 즐겨찾기