Last modified: 2014-04-23 15:14:46 UTC
$ curl -I "https://tools.wmflabs.org/gerrit-patch-uploader/" HTTP/1.1 200 OK Server: nginx/1.5.0 ^ This is fine. No problem here. But if you omit the trailing slash: $ curl -I "https://tools.wmflabs.org/gerrit-patch-uploader" HTTP/1.1 500 Internal Server Error Server: nginx/1.5.0 ^ This is pretty obnoxious.
I *think* it's <https://github.com/wikimedia/operations-puppet/blob/production/modules/dynamicproxy/files/urlproxy.lua#L23>: local captures = ngx.re.match(ngx.var.uri, "^/([^/]*)(/.*)?$") -- ... L31 then assigns captures[2] (which is nil when there is no trailing slash) to rest, which fails to match against any of the patterns. Maybe L31 should read: local rest = captures[2] or '/'
*** This bug has been marked as a duplicate of bug 64058 ***