MENU

Nginx 开启反向代理 Gravatar 头像服务后的防盗链设置!

2019 年 04 月 25 日・已有 9864 位小伙伴来看过・Ai Say, 折腾 , 软件

       因为博主的上网环境从来没有断过梯子,所以博客一直用 Gravatar 原生服务自己访问时并没有感觉到异常,但是偶然的一次梯子维护发现评论区的头像加载极慢,并且高频出现等待 xxx 响应,后来度娘一下才知道已经墙掉 Gravatar 了,只能使用 V2EX 服务来代替,由于 V2EX 承载了大量的博客访问,所以速度也相对较慢,于是乎干脆反代缓存一波自建 Gravatar 头像服务吧。(为什么要防盗链?因为不想做公益啊,再者有人用也会变慢的好吧~)

先将 Typecho 的原生 Gravatar 服务替换成自建的地址,17.10.24 版本以上可以在 config.icn.php 文件中新增定义常量:

  • define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.ai.mr/avatar/');

Nginx 全局配置文件(非站点配置文件)

  • http
  • {
  • ...
  • proxy_cache_path /cache levels=1:2 keys_zone=cache_one:100m inactive=30d max_size=50g;
  • #缓存文件目录,缓存目录结构,缓存使用内存大小,缓存过期时间,缓存最大占用空间
  • ...
  • include /nginx/*.conf;
  • #proxy_cache_path需在此配置之前
  • }

Nginx 站点配置文件(非全局配置文件)

  • server
  • {
  • listen 80;
  • server_name gravatar.ai.mr;
  • #代理域名
  • location / {
  • #主站目录防盗链
  • valid_referers none blocked ai.mr *.ai.mr;
  • #允许域名
  • if ($invalid_referer){
  • return 404;
  • #如盗链返回值
  • }
  • }
  • location /avatar/ {
  • #代理目录防盗链
  • valid_referers none blocked ai.mr *.ai.mr;
  • #代理允许域名
  • if ($invalid_referer){
  • return 404;
  • #代理如盗链返回值
  • }
  • proxy_pass https://secure.gravatar.com/avatar/;
  • #被代域名目录
  • proxy_cache cache_one;
  • #开启代理缓存
  • proxy_cache_key $host$uri$is_args$args;
  • #代理缓存KEY
  • proxy_cache_valid 200 304 301 302 3650d;
  • #代理缓存代码及缓存过期时间(这里设置的时间会覆盖全局设置的时间)
  • }
  • }

记录至此,再也不用担心加载不出来头像了!~

       本站的资源及素材小部分来自互联网,内容若侵犯到了您的权益,请联系我删除,下载资源仅供交流学习所用,请勿用于商业用途,并在下载后的 24 小时内删除;本站所有未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!

回到上个页面 文章二维码
本页链接的二维码
打赏二维码
添加新评论

已有 12 条评论
  1. Mark Mark

    想问一下,你是在宝塔上操作的吗?

    1. Ai Ai

      @Mark 只要是 Nginx,配置都一样的!

    2. Mark Mark

      @Ai 我在全局设置里面保存出错,软件商店 - > Nginx 1.15.10 -> 配置修改
      错误信息:

    3. Mark Mark

      @Marknginx: [emerg] the size 20971520 of shared memory zone "cache_one" conflicts with already declared size 104857600 in /www/server/nginx/conf/proxy.conf:2

    4. Ai Ai

      @Mark 你这个是内存不够吧,缓存区设置小一点!

    5. Mark Mark

      @Ai 已经解决了,谢谢了。宝塔不需要这么麻烦,全局不需要动,因为跟站点配置有重复配置... 直接在设置里面开反代、缓存、防盗链即可,哈哈

    6. Ai Ai

      @Mark 这里的防盗链是全站防盗链,宝塔的貌似只是局部,你换域名试试防盗呢!

    7. Mark Mark

      @Ai 果然是,多谢提醒,后来我把宝塔里面防盗链注释掉了,换成你的,问题迎刃而解 @(花心)

  2. 啊,头 (ni) 像 (lao) 好 (po) 好 (zhen) 看 (bu) 啊 (cuo)!@(滑稽)

    1. Ai Ai

      @初夏阳光 @(滑稽)

  3. 御坂 御坂

    突然发现,你头像好涩请啊~

    1. Ai Ai

      @御坂我老婆画的 @(爱心)