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

文章目录[隐藏]

WordPress网站的 Gravatar  默认服务器又被墙了,网页上头像不能正常显示,可以通过 Nginx 反代实现 Gravatar 头像正常显示。反代需要有一个国外的VPS。

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

Gravatar 头像 Nginx 反代

1、Nginx 配置

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

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

在前面加入以下内容:

client_body_buffer_size 512k;
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /home/cache/temp;

# 配置临时目录
proxy_cache_path /home/cache/path levels=1:2 keys_zone=cache:20m inactive=30d max_size=600m;
#20m是内存占用,30d是30天无访问删除,600m是缓存占具硬盘空间,cache为缓存区名字.

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

mkdir /home/cache/path -p
mkdir /home/cache/temp
chmod 755 -R /home/cache

3、虚拟主机配置文件

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

完整配置:

server{
listen 80;
listen 443 ssl;
server{
listen 80;
listen 443 ssl;
ssl_certificate /usr/ssl/gravatar.inwao.com.crt;
ssl_certificate_key /usr/ssl/gravatar.inwao.com.key;
ssl_session_timeout 10m;
ssl_protocols TLSv1.2 TLSv1.3;
#ssl_stapling on;
#ssl_stapling_verify on;
ssl_session_tickets on;
ssl_early_data on;
ssl_prefer_server_ciphers on;
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";
ssl_session_cache builtin:1000 shared:SSL:10m;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
server_name gravatar.inwao.com;
access_log /home/wwwlogs/gravatar.inwao.com.log;
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
if ($host != gravatar.inwao.com) {
rewrite ^/(.*)$ $scheme://gravatar.inwao.com/$1 permanent;
}
location / {
proxy_cache cache;
proxy_cache_valid 200 304 7d;

未经允许不得转载:主机格调 » Nginx反代并缓存Gravatar头像,解决头像被墙