0

I'm dealing with the following issue and I can't figure out to resolve it. I have HAproxy in front of app server farm which are running nginx. HAproxy has some httpchecks enabled for backend services - the checks are hitting /health_check URI:

option httpchk HEAD /health_check HTTP/1.1\r\nHost:\ staging.example.com

What I can't figure out is how to avoid logging for Virtualhosts which have permanent rewrites enabled for all URIs. Here's the example

server {
  listen      8000;
  server_name "";

  location = /health_check {
    access_log off;
    return 200;
  }

  rewrite     ^(.*)   https://staging.example.com$1 permanent;
}

I thought the above location directive would disable the logs for given URI but I was wrong - it's being completely ignored.

is there any way how to acomplish something like this ??

  • I wish I could accept 2 answers :-) – milosgajdos Feb 26 '13 at 10:24
1

Put the rewrite in a location / block.

location / {
    rewrite     ^(.*)   https://staging.example.com$1 permanent;
}

This way, it will match all URLs except for /health_check which has a more specific location.

| improve this answer | |
1

You could also return rather than rewrite using a location / block if you don't need the regex.

location / {
    return   301   $scheme://staging.example.com$request_uri;
}
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.