虽然 Google Analytics 已经没有被墙了,但是访问速度时好时坏,实在是不敢恭维:

fucking speed

但是对于那些国内统计又无感,所以搭建了一个 GA 的 反代 给自己用.

在追踪代码里把域名替换一下就好了。所幸 GA 没有什么坑爹的验证机制。。

GA

但是! 使用反代的追踪代码会导致你失去访客的 IP 地址!虽然其他信息譬如语言,分辨率还是保留的。所以并没有什么琴梨用 (´∀((☆ミつ。X-Real-IP $remote_addr 之类的也没用,正在找解决方法。想要用就用吧。

下面的内容是给那些做反向代理但是想要替换首页的人准备的:

记录一下窝踩的坑,希望能帮到其他人。

如果你想要反代一些静态资源网站譬如 fonts.gstatic.com,而且只想反代类似于 fonts.prinzeugen.net/example.woff 的资源文件,而访问 fonts.prinzeugen.net 是自己的页面,那么要怎么做呢?

窝在网上也找了好久,关键词 nginx 反向代理 替换首页nginx reverse proxy homepage 之类的,均无果。不知道是没有人写出来呢,还是窝搜索的姿势不对 qwq。

后来想起 nginx.conf 里的 location 似乎可以指定 location / (即访问首页)时不反代,location ~* \.(eot|ttf|woff|woff2)$ 的时候(即请求字体文件时)反代。于是仔细看了看 nginx 的文档,找到如下解决方法:

location / { # Nothing here to access index } location ~* .(eot|ttf|woff|woff2)$ { # reverse proxy config defaulttype text/html; subsfiltertypes text/css text/xml; #subsfiltert end proxysetheader X-Real-IP $remoteaddr; proxysetheader X-Forwarded-For $proxyaddxforwardedfor; proxysetheader Referer http://fonts.gstatic.com; #headerreferer end proxysetheader Host fonts.gstatic.com; #headerhost end proxypass http://fonts.gstatic.com; #proxypass end proxyset_header Accept-Encoding ""; }

高亮行已经标出。总之思路就是这样~ 如果你想反代 Google Analytics 的话就像这样写:

location / { # Nothing here to access index } location /analytics.js { defaulttype text/html; subsfiltertypes text/css text/xml text/javascript; #subsfiltert end subsfilter 'www.google-analytics.com' 'ga.prinzeugen.net' g; echoafterbody 'console.log("This website uses Reverse Proxy service of Google Analytics by Blessing Studio: https://ga.prinzeugen.net");'; proxysetheader X-Real-IP $remoteaddr; proxysetheader X-Forwarded-For $proxyaddxforwardedfor; proxysetheader Referer https://www.google-analytics.com; #headerreferer end proxysetheader Host www.google-analytics.com; #headerhost end proxypass https://www.google-analytics.com; #proxypass end proxysetheader Accept-Encoding ""; } location /r/ { # Reverse Proxy Config Here } location /collect { # Reverse Proxy Config Here }

除另有声明外,本博客文章均采用 知识共享(Creative Commons) 署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议 进行许可。