Have you tried internal redirections instead? You may end up with a custom handler in Javascript for the old www... domain and the legacy use case, but everything else could be using external redirections. Cheers, --j.by j94305 - Ideas and Feature Requests
Using Javascript, the list of variables and the list of headers coming with a request (with r.headersOut, we can control what we put there) are not allowed to iterate over. I would appreciate if Object.entries() would work on those "external" objects that basically present themselves as arrays. Alternatively, some form of iteration (enumerating the keys) would also suffice. Cheersby j94305 - Ideas and Feature Requests
How about setting a variable "headers_all" to a Javascript function that collects all headers from request.headersIn[] and returns the concatenated string in some defined format? You can include that variable in your logs. Cheers, --j.by j94305 - How to...
Set a session cookie and track that in your logs. Cheers, --j.by j94305 - How to...
The current NGINX API version 4 specifies an endpoint /http/keyvals/{httpKeyvalZoneName}. The POST operation only allows a list of entries to be specified if the map is empty. In order to simplify updates of complete mappings, one would have to either use DELETE to clear the map and then POST with multiple entries to upload the desired list, or use a Javascript handler to run through the liby j94305 - Ideas and Feature Requests
When I define a map in NGINX like keyval_zone zone=session:2m timeout=1d sync state=/var/run/nginx/state/session.json; keyval $user_id $map_session zone=session; I can read entries in Javascript functions, provided $user_id is set, like this: var value = r.variables.map_session; and assign new values: r.variables.map_session = newValue; However, while usually one cby j94305 - Ideas and Feature Requests