Can't log/print in header_filter_by_lua

Hi all,

I’ve been experimenting with rewriting ‘Set Cookie’ headers in a
nginx-reverse-proxy effort.

The Set-Cookie rewrite doesn’t seem to work yet, and more importantly,
my
log/print statements don’t print to error_log as directed, making it
very
difficult to debug.

http {

server {
access_log /home/bhedia/access.log;
#error_log /home/bhedia/errors.log debug;
error_log /home/bhedia/errors.log notice;

 listen   80;

 root /usr/share/nginx/www;
 #index index.html index.htm;

 # Make site accessible from http://localhost:8080/
 server_name localhost;

 location / {

      proxy_pass           http://10.45.17.85:50088/;
      proxy_set_header     Host booga.booga.com;
      #proxy_cookie_domain    test-sites.com booga.booga.com;

      header_filter_by_lua '
   ngx.log(ngx.NOTICE, "hello world")
           local cookies = ngx.header.set_cookie
           if not cookies then return end
           if type(cookies) ~= "table" then cookies = {cookies} end
           local newcookies = {}
           for i, val in ipairs(cookies) do
               local newval = string.gsub(val,

“([dD]omain)=[%w_-\\.-]+”,
“%1=booga.booga.com”)
ngx.print(val)
ngx.print(newval)
table.insert(newcookies, newval)
end
ngx.header.set_cookie = newcookies
';
}
}
}

Any help would be appreciated.

Thanks!

ngx.print() is only valid for rewrite_by_lua, access_by_lua* and
content_by_lua*.* Maybe your looking for* print()

ngx.log* should work though*.
*

2013/5/20 Ramesh M. [email protected]

I’ve tried print() as well, and neither that nor ngx.log() have worked
as
yet.

OK. I was able to resolve it by doing a clean install of nginx. Dunno
what
the underlying issue was, but my hunch is I was logging to an a
different
location and the logs I was looking at were the default logs from nginx.

Thanks anyway!

On Mon, May 20, 2013 at 2:47 PM, Ramesh M.