Eu tenho um servidor nginx e um arquivo site.erb e dois domínios diferentes (domain1 e domain2). Atualmente, uma tag (para o Gerenciador de tags do Google) será definida quando alguém visitar os sites de um determinado conjunto de endereços IP remotos ( set $analytics "'userType': 'internal'"
) e essa informação for enviada ao Google Analytics:
# Set userType variable for Google Tag Manager (default is external)
set $analytics "'userType': 'external'";
# LAN traffic is internal therefore,
if ($remote_addr = zzz.zzz.zzz.zzz) {
set $analytics "'userType': 'internal'";
}
# The Wifi traffic is internal therefore,
if ($remote_addr = yyy.yyy.yyy.yyy) {
set $analytics "'userType': 'internal'";
}
sub_filter "'userType': 'external'" $analytics;
Agora, a tarefa é ter um conjunto de endereços IP marcados como internos ao visitar o domínio1 e um conjunto diferente de endereços IP marcados como internos ao visitar o domínio diferente do vhost conhecido como domínio2.
Existe uma maneira de fazer isso com arquivos Ruby incorporados (site.erb) ou existe uma maneira de o Nginx fazer isso e configurá-lo como um parâmetro no arquivo site.erb
. Eu não sou muito familiarizado com nginx ou com ruby embutido, então uma explicação simples sobre como seria ótimo.
Estou pensando que algo como o seguinte pode funcionar, mas não tenho certeza se server_name
in nginx é uma variável viável ou não:
server_name= Something_Something
Extração = (extrair da variável server_name domain1.com variável parte OR domain2.com dependendo do que é)
domain1_internal_ip_array = a.b.c
domain2_internal_ip_array = x.y.z
definir o Google Analytics == externo
se Extração == domain1.com AND remote_ip == domain1_internal_ip_array então o Analytics == internal
se Extração == domain2.com AND remote_ip == domain2_internal_ip_array então o Analytics == internal