Перехват заголовков содержимого с помощью Nginx Lua - PullRequest
0 голосов
/ 09 января 2019

Я использую этот код для отправки обращений на сервер к GA через протокол измерения:

location = /example {    
    access_by_lua_block  {    
        local request = {
            v = 1,
            t = "pageview",
            tid = "UA-XXXXXXXX-Y",
            cid = ngx.md5(ngx.var.remote_addr .. ngx.var.http_user_agent),
            uip = ngx.var.remote_addr,
            dp = ngx.var.request_uri,
            dr = ngx.var.http_referer,
            ua = ngx.var.http_user_agent,
            ul = string.sub(ngx.var.http_accept_language, 1, 2)
        }
        local res = ngx.location.capture(  "/gamp",  {
            method = ngx.HTTP_POST,
            body = ngx.encode_args(request)
        })
    }
}
location = /gamp {
    internal;
    expires epoch;
    access_log off;
    proxy_pass_request_headers off;
    proxy_pass_request_body on;
    proxy_pass https://google-analytics.com/collect;
}

Я хотел бы иметь возможность передавать дополнительную информацию из содержимого, такого как заголовок и т. Д. Соответствующие заголовки (например, X-title) уже сгенерированы из серверной части (php / wordpress), но когда я добавляю dt = ngx.resp.get_headers()["X-title"] к запросу ничего не получается. Я предполагаю, что это потому, что nginx их пока не видит. Могут ли они быть как-то перехвачены, а затем отправлены?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...