我有一个nginx服务器和一个site.erb文件和两个不同的域(域1和域2)。 目前,当某人从特定的一组远程IP地址( set $analytics "'userType': 'internal'" )访问网站时,会设置一个标签(用于Google跟踪代码pipe理器),并将此信息发送给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;
现在,任务是在访问domain1时将一组IP地址标记为内部,并在访问称为domain2的不同vhost域时将一组不同的IP地址标记为内部。
有没有办法做到这一点与embedded式ruby文件(site.erb)或有一种方式,Nginx可以做到这一点,并将其设置为site.erb文件中的参数。 我不是很熟悉iwth nginx或embedded式的ruby,所以简单的解释,如何将是伟大的。
我想像下面的东西可能工作,但不知道如果server_name中的server_name是一个可行的variables或不是:
server_name= Something_Something
Extraction =(从server_name中提取variablesdomain1.com部分或domain2.com部分取决于它是什么)
domain1_internal_ip_array = ABC
domain2_internal_ip_array = XYZ
设置Analytics == external
如果提取== domain1.com和remote_ip == domain1_internal_ip_array那么Analytics == internal
如果提取== domain2.com AND remote_ip == domain2_internal_ip_array那么Analytics == internal