Модуль Nginx vts не работает с локациями Symfony - PullRequest
0 голосов
/ 21 января 2019

У меня проблема с настройкой nginx таким образом, чтобы модуль vts https://github.com/vozlt/nginx-module-vts генерировал метрики для определенного местоположения. Но в моей текущей конфигурации это не работает вообще. Все локации перенаправляются в /app.php, где Symfony вступает во владение, и только в этих метриках локации генерируются правильно. Во всех других местах nginx не производит никаких метрик. Есть идеи?

server {
listen 80 default_server;
root /var/app/web;
server_name _;

location = /health {
    vhost_traffic_status_filter_by_set_key $host domain-health;
    try_files $uri /app.php$is_args$args;
}

location = /metrics {
    vhost_traffic_status_display;
    vhost_traffic_status_display_format prometheus;
    allow 10.42.0.0/16;
    allow 172.16.0.0/12;
    deny all;
}

location ^~ /test/api/ppeh/ {
    vhost_traffic_status_filter_by_set_key $host domain-api-ppeh;
    try_files $uri /app.php$is_args$args;
}

location ^~ /test/api/public/ {
    vhost_traffic_status_filter_by_set_key $host domain-api-public;
    try_files $uri /app.php$is_args$args;
}

location ^~ /test/api/_ {
    vhost_traffic_status_filter_by_set_key $host domain-api-internal;
    try_files $uri /app.php$is_args$args;
}

location ^~ /test/api/ {
    vhost_traffic_status_filter_by_set_key $host domain-api;
    try_files $uri /app.php$is_args$args;
}

location /test2/api/ {
    vhost_traffic_status_filter_by_set_key $host domain-personalization-api;
    try_files $uri /app.php$is_args$args;
}

location /test2/ {
    vhost_traffic_status_filter_by_set_key $host domain-personalization-static;
    try_files $uri /app.php$is_args$args;
}

location /test/ {
    vhost_traffic_status_filter_by_set_key $host domain-static;
    try_files $uri /app.php$is_args$args;
}

location = /test/version {
   try_files $uri /version.txt;
}

location ~ ^/app\.php(/|$) {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include /etc/nginx/fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    fastcgi_param HTTPS $is_secure;
    internal;
}

location ~ \.php$ {
    return 404;
}

error_log /dev/stdout;
access_log /dev/stdout extended if=$loggable;

}

...