zvv

使用 Caddy 配置 Google 反向代理

前面说到使用 Caddy 配置 Wikipedia 反向代理,其实平常用到更多的还是 Google,因此这里再来研究一下如何在 Caddy 上配置 Google 反向代理。

其实在用 Caddy server 之前我是一直使用 Nginx 的,作为一个 Nginx 用户,我更推荐使用 Nginx Module for Google ,这个插件,虽然安装起来有点麻烦,但是配置极其简单,效果拔群。

而对于 Caddy ,目前还没有太多现成的资料可以使用,好在配置起来并不是很复杂,配置文件如下:

google.example.com {
    gzip
    proxy / https://www.google.com {
        header_upstream X-Real-IP {remote}
        header_upstream User-Agent {>User-Agent}
        header_upstream Accept-Language zh-CN
        header_upstream Accept-Encoding identity
    }
    filter rule {
        content_type text/.*
        search_pattern www.google.com
        replacement google.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern (www|ssl).gstatic.com
        replacement gstatic.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern zh.wikipedia.org
        replacement wiki.example.com
    }
    filter rule {
        content_type text/.*
        search_pattern zh.m.wikipedia.org
        replacement m.wiki.example.com
    }
}
gstatic.example.com {
    gzip
    proxy / https://www.gstatic.com {
        header_upstream X-Real-IP {remote}
        header_upstream User-Agent {>User-Agent}
    }
}

 

DNS配置:将域名google.example.comgstatic.example.com的A记录指向 Caddy server 所在的服务器 IP 地址即可,Caddy 会自动申请并配置 TLS 证书,非常简单。

www.gstatic.com 也需要反向代理原因是 Google 引用了来自 www.gstatic.com 的静态资源。

Accept-Language设置为zh-CN是因为我希望用 Google 来搜索中文内容(哪怕是搜索中文内容 Google 也比百度强多了)。

Accept-Encoding设置为identity是为了禁用 upstream 的 gzip,否则由于 gzip 的存在会导致http.filter插件对内容的查找和替换失败。

顺便将前面配置的 Wikipedia 反向代理地址也加入了进来,这样的话在 Google 中搜索到的 Wikipedia (中文)词条就会自动转换成反向代理地址,查看 Wikipedia 词条更简单,也弥补了 Wikipedia 反向代理目前无法搜索的缺陷。

 

via.https://ichon.me/post/1027.html

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。