Code
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
return 302 /cgi-bin/index.cgi;
}
location /cgi-bin {
# https://techexpert.tips/de/nginx-de/nginx-shell-skript-cgi/
gzip off;
root /var/www/html;
index index.cgi;
fastcgi_index index.cgi;
fastcgi_pass unix:/var/run/fcgiwrap.socket;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
access_by_lua_block {
local args = ngx.req.get_uri_args()
for key, val in pairs(args) do
ngx.req.set_header("x-args-" .. key, ngx.unescape_uri(val))
end
}
}
}
Alles anzeigen
So funktionierts. GET parameter werden mit dem LUA Block in header verwandelt, die als ENV im Bash Script raus kommen. So hab ich die Parameter direkt verfügbar ohne das ich da was parsen/decoden muss. ![]()
openresti / nginx_lua ist auch so eine Geschichte die man sich mal genauer anschauen sollte. Da kann man echt coole Sachen mit basteln.