nginx e site.erb: tag como usuários internos para dois domínios diferentes e dois conjuntos diferentes de IPs

1

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

    
por tomhafiz 05.04.2016 / 00:19

0 respostas