欢迎光临
我们一直在努力

Nginx反向代理Gravatar头像wordpress的简单配置

很多情况下我们都有可能会用到Nginx反向代理比如现在大陆全面封禁了谷歌搜索引擎如果你想使用的话就需要翻墙
或者如果你网站使用的wordpress环境搭建。那么就很有必要使用Nginx反向代理Gravatar头像服务器了。

什么是反向代理,下面是度娘的解释:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
Nginx反向代理Gravatar头像wordpress的简单配置

如果你对nginx配置也并不是很了解,可以参考网上相关的文档,实现基本的反向代理还是没有多大问题,下面就来分享一下。

此方法适用于军哥的LNMP一键包、AMH主机面板(当然AMH自带了反代模块)下面就开始。

1
2
3
4
5
6
7
8
9
10
11
server
        {
        listen          80;
        server_name     exehack.net www.exehack.net;
        location / {
           proxy_pass http://www.baidu.com;
           proxy_redirect off;
           proxy_set_header XRealIP $remote_addr;
           proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;
    }
}

Nginx 反向代理缓存Gravatar头像

Nginx 反向代理缓存需要集成ngx_cache_purge 模块,

如果没有,则需要重新编译Nginx,具体做法参考张戈博客分享的文章《为网站开启Nginx缓存加速,支持html伪静态页面

1.将以下代码加入到服务器自带的nginx配置文件中:

1
2
3
4
5
6
7
8
9
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_cache_path /tmp/cache/proxy_cache levels=1:2 keys_zone=cache_one:200m inactive=30d max_size=5g;  //如不存在改目录请自行创建
proxy_temp_path /tmp/cache/proxy_cache/temp;  //路径自行创建

2.在网站现有规则中加入如下规则,反向代理gavatar并缓存到本地:

1
2
3
4
5
6
7
8
9
10
11
12
13
location /avatar {
    proxy_pass http://cn.gravatar.com;
    proxy_redirect off;
    proxy_set_header Host cn.gravatar.com;
    proxy_cache cache_one;
    proxy_cache_valid 200 302 304 365d;
    proxy_cache_valid 301 1d;
    proxy_cache_valid any 1m;
    add_header ImagesCache “$upstream_cache_status from $host”;
    add_header Pragma public;
    add_header CacheControl “public, must-revalidate, proxy-revalidate”;
    access_log off; log_not_found off; expires max;
}

保存配置之后,先执行如下命令测试配置是否正确:

1
2
3
4
linuxtest:~ # /usr/local/nginx/sbin/nginx -t
#如下显示则为正确无误:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

确认无误之后,执行如下命令重载nginx,让配置生效:

1
linuxtest:~ # /usr/local/nginx/sbin/nginx -s reload

3.添加到主题目录下的functions.php中插入如下代码:

1
2
3
4
5
6
//更改gavatar来源
function mytheme_get_avatar($avatar) {
$avatar = str_replace(array(“www.gravatar.com”,“0.gravatar.com”,“1.gravatar.com”,“2.gravatar.com”),“www.cnbhu.com”,$avatar); //请修改为自己的首页域名
return $avatar;
}
add_filter( ‘get_avatar’, ‘mytheme_get_avatar’, 10, 3 );

以上即是小残博客目前在用的优化方案,里面有一条是建议静态资源使用二级域名,并拒绝cookies的写入。所以本文还能继续拓展折腾一下:将头像地址改成二级域名。比如右键查看小残博客评论头像,可以发现已经变成 cdn.cnbhu.com 了。其实就是新增一个 cdn.cnbhu.com 的 server 模块而已,非常简单,感兴趣的朋友可以自己折腾一下,本文就不多做说明了。

赞(0) 打赏
未经允许不得转载:中国宏阔黑客联盟|白帽黑客|网络渗透技术|网站安全|移动安全|通信安全 » Nginx反向代理Gravatar头像wordpress的简单配置
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏