我正在处理以下问题,但无法解决。我在运行 nginx 的应用程序服务器场前面有 HAproxy。HAproxy 为后端服务启用了一些 httpchecks - 检查正在命中 /health_check URI:
option httpchk HEAD /health_check HTTP/1.1\r\nHost:\ staging.example.com
我想不通的是如何避免记录为所有 URI 启用永久重写的虚拟主机。这是例子
server {
listen 8000;
server_name "";
location = /health_check {
access_log off;
return 200;
}
rewrite ^(.*) https://staging.example.com$1 permanent;
}
我以为上面的位置指令会禁用给定 URI 的日志,但我错了——它被完全忽略了。
有什么办法可以完成这样的事情吗?
把 放在
rewrite
一个location /
块里。这样,它将匹配所有 URL,除了
/health_check
具有更具体的location
.location /
如果不需要正则表达式,也可以返回而不是使用块重写。