Any idea on if this will be going into 1.7.3 or only into 1.8? Thanks!
On Sun, Jan 29, 2017 at 9:07 PM Jesse Schulman <[email protected]> wrote: > That fixes the issue for me, thank you for the fast response! Will this > be in 1.7.3, and is there any idea of when 1.7.3 will be released? > > Thanks! > Jesse > > On Fri, Jan 27, 2017 at 11:02 PM <[email protected]> wrote: > > Hi, > > thanks for the bug repport. I already encoutered with another function > than redirect. Can you try the join patch ? > > Thierry > > > On Fri, 27 Jan 2017 22:50:00 +0000 > Jesse Schulman <[email protected]> wrote: > > > I've found what seems to be a bug when I log from within a Lua sample > fetch > > that I am using to determine a redirect URL. It seems that whatever is > > logged from the lua script is written to the log file as expected, but it > > also is replacing the response, making the response invalid and breaking > > the redirection. > > > > Thanks, > > Jesse > > > > Here's what I'm seeing: > > > > *no logging: curl -v http://lab.mysite.com <http://lab.mysite.com>* > > > GET / HTTP/1.1 > > > Host: lab.mysite.com > > > User-Agent: curl/7.51.0 > > > Accept: */* > > > > > < HTTP/1.1 302 Found > > < Cache-Control: no-cache > > < Content-length: 0 > > < Location: https://www.google.com/ > > < Connection: close > > < > > > > *issue seen here with logging the string "LOG MSG" from lua script: curl > -v > > http://lab.mysite.com/log <http://lab.mysite.com/log>* > > > GET /log HTTP/1.1 > > > Host: lab.mysite.com > > > User-Agent: curl/7.51.0 > > > Accept: */* > > > > > LOG MSG 302 Found > > Cache-Control: no-cache > > Content-length: 0 > > Location: https://www.google.com/log > > Connection: close > > > > > > Here are steps to reproduce and my current setup: > > > > */etc/redhat-release:* > > CentOS Linux release 7.2.1511 (Core) > > > > *uname -rv* > > 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 > > > > *haproxy -vv:* > > HA-Proxy version 1.7.2 2017/01/13 > > Copyright 2000-2017 Willy Tarreau <[email protected]> > > > > Build options : > > TARGET = linux2628 > > CPU = generic > > CC = gcc > > CFLAGS = -O2 -g -fno-strict-aliasing -Wdeclaration-after-statement > > OPTIONS = USE_LINUX_TPROXY=1 USE_ZLIB=1 USE_REGPARM=1 USE_OPENSSL=1 > > USE_LUA=1 USE_PCRE=1 > > > > Default settings : > > maxconn = 2000, bufsize = 16384, maxrewrite = 1024, maxpollevents = 200 > > > > Encrypted password support via crypt(3): yes > > Built with zlib version : 1.2.7 > > Running on zlib version : 1.2.7 > > Compression algorithms supported : identity("identity"), > > deflate("deflate"), raw-deflate("deflate"), gzip("gzip") > > Built with OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013 > > Running on OpenSSL version : OpenSSL 1.0.1e-fips 11 Feb 2013 > > OpenSSL library supports TLS extensions : yes > > OpenSSL library supports SNI : yes > > OpenSSL library supports prefer-server-ciphers : yes > > Built with PCRE version : 8.32 2012-11-30 > > Running on PCRE version : 8.32 2012-11-30 > > PCRE library supports JIT : no (USE_PCRE_JIT not set) > > Built with Lua version : Lua 5.3.3 > > Built with transparent proxy support using: IP_TRANSPARENT > IPV6_TRANSPARENT > > IP_FREEBIND > > > > Available polling systems : > > epoll : pref=300, test result OK > > poll : pref=200, test result OK > > select : pref=150, test result OK > > Total: 3 (3 usable), will use epoll. > > > > Available filters : > > [COMP] compression > > [TRACE] trace > > [SPOE] spoe > > > > *haproxy.cfg:* > > global > > log 127.0.0.1 local2 debug > > lua-load /etc/haproxy/lua/redirect.lua > > chroot /var/lib/haproxy > > pidfile /var/run/haproxy.pid > > maxconn 256 > > tune.ssl.default-dh-param 1024 > > stats socket /var/run/haproxy.sock mode 600 level admin > > stats timeout 2m #Wait up to 2 minutes for input > > user haproxy > > group haproxy > > daemon > > > > defaults > > log global > > mode tcp > > option tcplog > > option dontlognull > > timeout connect 10s > > timeout client 60s > > timeout server 60s > > timeout tunnel 600s > > > > frontend http > > bind "${BIND_IP}:80" > > mode http > > option httplog > > option forwardfor > > capture request header Host len 32 > > log-format %hr\ %r\ %ST\ %b/%s\ %ci:%cp\ %B\ %Tr > > > > http-request redirect prefix "%[lua.get_redirect()]" > > > > *lua/redirect.lua:* > > core.register_fetches("get_redirect", function(txn) > > local path = txn.sf:path() > > if (path == "/log") then > > core.Info("LOG MSG") > > end > > return "https://www.google.com" > > > > end) > >

