Gravatar 是 Globally Recognized Avatar 的缩写,是 gravatar推出的一项服务,意为“全球通用头像”。如果在Gravatar的服务器上放置了你自己的头像,那么在任何支持 Gravatar 的 blog 或者留言本上留言时,只要提供你与这个头像关联的 Email 地址,就能够显示出你的 Gravatar头像来。
利用Nginx反代Gravatar头像
创建数据目录
1 2 3
| mkdir -p /tmp/cache/ mkdir /tmp/cache/temp chmod 755 -R /tmp/cache
|
创建nginx配置文件
把下面代码保存到/usr/local/nginx/conf/vhost/gravatar.conf(请根据你自己的配置自行调整)文件中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| proxy_cache_path /tmp/cache levels=1:2 keys_zone=gravatar:50m inactive=30m max_size=50m; server { listen 80; listen 443 ssl http2; server_name gravatar.tvzr.com; ssl_protocols TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; ssl_certificate /etc/letsencrypt/live/gravatar.tvzr.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/gravatar.tvzr.com/privkey.pem; location / { proxy_pass https://secure.gravatar.com/; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Accept-Encoding ""; proxy_cache gravatar; proxy_cache_key $scheme$host$request_uri; proxy_cache_valid 200 304 7d; proxy_cache_valid 301 24h; proxy_cache_valid 500 502 503 504 0s; proxy_cache_valid any 1d; } }
|
重新加载nginx
其他第三方镜像
将下面代码添加到主题 functions.php 文件的末尾保存即可。以V2EX的为例:
1 2 3 4 5 6
| function theme_get_avatar( $avatar ) { $avatar = preg_replace("/\/\/(www|\d|secure|cn).gravatar.com\/avatar\//", "//cdn.v2ex.com/gravatar/", $avatar); return $avatar; } add_filter('get_avatar', 'theme_get_avatar');
|