A-A+

Nginx反代并缓存Gravatar头像,解决头像被墙

2026年06月28日 站长推荐 暂无评论

最近,Gravatar的默认服务器被墙了,Wordpress博客上的头像全是叉叉。网上有很多的解决方案,不过我是采用Nginx反向代理并缓存Gravatar来实现头像正常显示的。如果采取这个方法,必须有一个墙外的VPS,否则没法搞。

所谓反向就是代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部(或其他)网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端。缓存就是把服务器A的资源缓存到服务器B,然后直接从服务器B读取数据。

Gravatar 头像 Nginx 反代

1、安装Nginx

你可以安装lnmp一键包:http://lnmp.org/

2、在域名管理上为域名gravatar.example.com添加A记录到VPS的IP上

3、修改nginx.conf配置文件的http层

找到nginx.conf所在位置:usr/local/nginx/conf/

vi /usr/local/nginx/conf/nginx.conf

查找 #limit_conn_zone $binary_remote_addr zone=perip:10m;

在前面加入以下内容:

  1. client_body_buffer_size 512k;  
  2. proxy_connect_timeout 5;  
  3. proxy_read_timeout 60;  
  4. proxy_send_timeout 5;  
  5. proxy_buffer_size 16k;  
  6. proxy_buffers 4 64k;  
  7. proxy_busy_buffers_size 128k;  
  8. proxy_temp_file_write_size 128k;  
  9. proxy_temp_path /home/cache/temp;  
  10.   
  11. # 配置临时目录  
  12. proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;  
  13. #20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.  

4、创建缓存目录,并赋予权限

  1. mkdir /home/cache/path -p  
  2. mkdir /home/cache/temp  
  3. chmod 755 -R /home/cache  

5、新增虚拟主机配置文件

vi /usr/local/nginx/conf/vhost/gravatar.yourdomain.com.conf

完整配置:

  1. server{  
  2. listen 80;  
  3. listen 443 ssl;  
  4. server{  
  5. listen 80;  
  6. listen 443 ssl;  
  7. ssl_certificate /usr/ssl/gravatar.inwao.com.crt;  
  8. ssl_certificate_key /usr/ssl/gravatar.inwao.com.key;  
  9. ssl_session_timeout 10m;  
  10. ssl_protocols TLSv1.2 TLSv1.3;  
  11. #ssl_stapling on;  
  12. #ssl_stapling_verify on;  
  13. ssl_session_tickets on;  
  14. ssl_early_data on;  
  15. ssl_prefer_server_ciphers on;  
  16. ssl_ciphers "TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:TLS-AES-128-GCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5";  
  17. ssl_session_cache builtin:1000 shared:SSL:10m;  
  18. resolver 8.8.8.8 8.8.4.4 valid=300s;  
  19. resolver_timeout 5s;  
  20. server_name gravatar.inwao.com;  
  21. access_log /home/wwwlogs/gravatar.inwao.com.log;  
  22. if ($ssl_protocol = "") { return 301 https://$host$request_uri; }  
  23. if ($host != gravatar.inwao.com) {  
  24. rewrite ^/(.*)$ $scheme://gravatar.inwao.com/$1 permanent;  
  25. }  
  26. location / {  
  27. proxy_cache cache;  
  28. proxy_cache_valid 200 304 7d;  
标签:

给我留言