MENU

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

2019 年 04 月 25 日 • 阅读: 876 • Ai Say,折腾,软件

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

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

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.ai.ls/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.ls;
    #代理域名
   location / {
    #主站目录防盗链
   valid_referers none blocked ai.ls *.ai.ls;
    #允许域名
   if ($invalid_referer){
   return 404;
    #如盗链返回值
  }
 }
   location /avatar/ {
    #代理目录防盗链
   valid_referers none blocked ai.ls *.ai.ls;
    #代理允许域名
   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-NV-SA 4.0授权协议,转载请注明来源,谢谢!

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

已有 4 条评论
  1. 啊,头(ni)像(lao)好(po)好(zhen)看(bu)啊(cuo)!@(滑稽)

    1. Ai Ai

      @初夏阳光@(滑稽)

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

    1. Ai Ai

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