MENU

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

2019 年 04 月 25 日 • 已有 9109 位小伙伴来看过 • 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

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