diff --git a/src/reqs.c b/src/reqs.c index d0f296f..555c8c7 100644 --- a/src/reqs.c +++ b/src/reqs.c @@ -369,12 +369,15 @@ BAD_REQUEST_ERROR: reverse_url = reverse_rewrite_url (connptr, hashofheaders, url); - if (!reverse_url) { + if (reverse_url != NULL) { + safefree (url); + url = reverse_url; + } else if (config.reverseonly) { + indicate_http_error (connptr, 400, "Bad Request", + "detail", "No mapping found for requested url", + "url", url, NULL); goto fail; } - - safefree (url); - url = reverse_url; } #endif diff --git a/src/reverse-proxy.c b/src/reverse-proxy.c index 9ca55f6..b2e2db1 100644 --- a/src/reverse-proxy.c +++ b/src/reverse-proxy.c @@ -166,7 +166,8 @@ char *reverse_rewrite_url (struct conn_s *connptr, hashmap_t hashofheaders, return NULL; } - log_message (LOG_CONN, "Rewriting URL: %s -> %s", url, rewrite_url); + log_message (LOG_CONN, "Rewriting URL: %s -> %s", url, + rewrite_url ? rewrite_url : "No mapping found"); /* Store reverse path so that the magical tracking cookie can be set */ if (config.reversemagic && reverse)