PoC를 위해 무엇을하려하고 있으며 동적 백엔드 서버에서 오는 웹 페이지에 href를 추가합니다. "subs_filter"를 사용하면 href를 쉽게 추가 할 수 있지만 href를 작성하려면 응답에 포함 된 정보를 사용해야합니다.Nginx lua proxy_pass 후 html 응답 수정
LUA를 사용하여 proxy_pass에서 응답을 처리하고 수정 한 다음 요청자 (클라이언트)에게 반환 할 수 있습니까?
모든 제안을 환영합니다.
다음은 내가보고있는 코드입니다. 이제 Lua를 더 잘 이해하고 nginx에서 어떻게 사용하는지 보겠습니다. 'body_filter'가 올바른 방법임을 알 수 있습니다. 그러나 코드를 충분히 간단하게 보이지만 작동하도록 정규식을 가져올 수 없습니다.
추가 배경, 나는 반환 된 proxy_pass 응답을 구문 분석하고 시작 및 종료 시간에 구문 분석을 시도한 다음 JS 스크립트 URL을 머리에 배치합니다.
정규식을 사용하려는 응답의 예입니다. 예를 작동하기위한
Informações Adicionais
Horário de início: 08H50
Horário de término: 09H14
"크리에이터 '변경'위치 {} '
body_filter_by_lua '
-- my regex which is validate but doesn't seem to be within LUAJIT
--local from, to, err = ngx.re.find(ngx.arg[1], "(.início: *\d{2}H\d{2})", "jo")
local from, to, err = ngx.re.find(ngx.arg[1], "início", "jo")
replacestr = string.sub(ngx.arg[1], to, 5)
replaceme = "<script></script></head>"
ngx.arg[1] = ngx.re.sub(ngx.arg[1],"</head>", replaceme)
';
내에서의 코드"머리 "에, 그래서 그것은 악센트 문자입니다 있으리라 믿고있어하지만 난 이것에 대한 확인을 찾을 수 없습니다. "크리에이터"변경
에와 실패 "D {2} H의 \ (D)가 {2} \ "내가에서 언급 한 것을 발견했다 ' "
안녕하세요. 어떤 연구를하셨습니까? – MickyD
나는 'content_by_lua', 또한 'ngx.location.capture'및 다른 방법을 사용하려고 노력해 왔습니다. 결국 'body_filter_by_lua'를 사용하고 'ngx.header.content_length = nil'을 설정하는 것입니다. –
감사합니다 Andy,이 정보는 일반적으로 도움을 줄 수있는 다른 사람들을 돕습니다. 해결책을 찾은 것 같아요. 당신이 그것을 가지고 있다면, 다른 사람들이 같은 문제를 트랙 아래로 흘릴 수있는 경우에 대비하여 자신의 아래에있는'대답 '으로 게시하는 것을 고려하십시오. 그것을 _an answer_로 '표시'할 수 있어야합니다. 고마워 친구 – MickyD