念念不忘
必有回响

解决WordPress更新插件提示429 Too Many Requests

博客长草大半年,年末心血来潮打算更一篇,发现无法更新WordPress程序以及插件和主题。一直报错Too Many Requests,而且用国内网络也无法打开WordPress的相关网站,爬上梯子就可以访问。实在令人难受,只能手动更新,但是有些插件卸载后配置文件就没得了,过程十分难受。于是博客又长草了,今天除草过程中打算把这问题解决了。

既然国内网络不行,国外任意一个网络都可以,很显然中国大陆的所有IP都被阻止访问WordPress了,那么只需要使用和访问Google、Twitter一样的办法即可。(*(敏)*(感))。

1.安装SSR客户端

1.1 下载源码

酸酸乳因特殊原因无法直接通过yum或者pip下载,所以我们直接下载源码即可。进入root的根目录(其他目录也行这个你自己定),下载shadowsocksr源码。

git clone https://github.com/ssrbackup/shadowsocksr

服务器上没有git的请自行安装。

1.2 配置shadowsocks.json

cp shadowsocksr/config.json /etc/shadowsocks.json

编辑文件:

{
    "server": "10.10.10.10", 
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "timeout": 300,
    "workers": 1,
    "server_port": 1382,
    "password": "123456",
    "method": "chacha20",
    "obfs": "tls1.2_ticket_auth",
    "obfs_param": "bing.com",
    "protocol": "auth_aes128_md5",
    "protocol_param": "123456"
}

这里按照自己的情况来修改,主要修改:

  • “server” 酸酸乳服务器IP或者域名
  • “local_port” (默认即可,如果有端口占用自己换一个也行)
  • “server_port” 酸酸乳服务端端口
  • “password”
  • “method” 加密方式
  • “obfs” 混淆插件
  • “obfs_param” 插件参数
  • “protocol” 混淆协议
  • “protocol_param” 协议参数

1.3 启动SSR客户端

进入到/root/shadowsocksr/shadowsocks目录,运行

python local.py -c/etc/shadowsocks.json -d start

启动成功会有提示,也可以在/var/log/shadowsocks.log里查看日志。

补充:
停止SSR:

python local.py -c/etc/shadowsocks.json -d stop

重启SSR:

python local.py -c/etc/shadowsocks.json -d restart

1.4 测试

执行如下命令:

curl --socks5 127.0.0.1:1985 http://httpbin.org/ip

如果返回了如下,则表示SSR客户端已经配置完成。

{
  "origin": "10.10.10.10"       #你的 ss 服务器 ip
}

2.安装Privoxy

Shadowsocks 是一个 socket5协议,我们需要使用 Privoxy 把流量转到 http/https 上。

2.1 下载Privoxy

https://www.privoxy.org/sf-download-mirror/Sources/3.0.26%20%28stable%29/privoxy-3.0.26-stable-src.tar.gz

恩,这个地址似乎被特殊照顾了,自己爬梯子下载往服务器上传吧。同样的,这个文件上传到了/root目录(/opt装了太多东西)。

2.2 解压

tar -zxvf privoxy-3.0.26-stable-src.tar.gz

2.3 编译安装

cd privoxy-3.0.26-stable/

使用root用户执行如下命令:

autoheader && autoconf
./configure
make && make install

2.4 创建新用户

由于privoxy非常不建议使用root用户,所以我们创建一个privoxy用户即可

useradd privoxy

2.5 配置Privoxy

执行如下命令:

vi /usr/local/etc/privoxy/config

查找forward-socks5t关键字,将其注释去掉,修改为:

#      To chain Privoxy and Tor, both running on the same system, you
#      would use something like:
#
        forward-socks5t   /               127.0.0.1:1080 .

注意,这里的127.0.0.1:1080就是上一步ssr的本地监听地址。

privoxy默认本地监听8118端口,如果有其他服务占用了这个端口,我们可以换个端口。查找listen-address关键字,将其端口修改即可。

2.6 启动Privoxy

privoxy --user privoxy /usr/local/etc/privoxy/config

启动完成后会监听8118端口。

2.7 修改/etc/profile

让服务器所有的http/https流量都走代理。

vi /etc/profile

在最末尾新增如下:

export http_proxy=http://127.0.0.1:8118       #这里的端口和上面 privoxy 中的保持一致
export https_proxy=http://127.0.0.1:8118

保存并退出。
运行source /etc/profile,使其生效。

2.8 测试

curl www.google.com

如果打印了Google搜索首页的代码,则表示爬梯成功。

3.配置WordPress

做完以上两本本以为可以了,结果更新插件还是会提示429或者502。那么这里还需要配置一下wordpress了。

3.1 配置wp-config.php

进入站点根目录,编辑wp-config.php,新增如下代码:

define('WP_PROXY_HOST', '127.0.0.1');
define('WP_PROXY_PORT', '8118');

保存并退出。

4. 效果图

5.特别说明

这个服务用完就关了吧,长期挂着梯子也不好,首先阿里云会去审查,另外长期挂着你服务器所有http/https的流量都会走代理,这样并不好,如果更新完插件就关了,等下次更新的时候再开也不麻烦,两条命令的事。
关闭方式如下:

5.1 修改/etc/profile

将刚才新增的两行注释了,用的时候再开

# export http_proxy=http://127.0.0.1:8118
# export https_proxy=http://127.0.0.1:8118

5.2 修改wp-config.php

将新增的两行注释了,用的时候再打开:

//define('WP_PROXY_HOST', '127.0.0.1');
//define('WP_PROXY_PORT', '8118');

5.3 关闭Privoxy

通过netstat命令找到进程,直接kill掉即可

netstat -ltnp |grep 8118
tcp        0      0 127.0.0.1:8118          0.0.0.0:*               LISTEN      32249/privoxy

执行如下命令杀掉进程

kill -9 32249

5.4 停止SSR客户端

进入到/root/shadowsocksr/shadowsocks目录,运行

python local.py -c/etc/shadowsocks.json -d stop

最后,过程的确麻烦,嫌麻烦的可以了解两个插件kill429(正向代理)和China-wp-yes(反向代理)。不过这两插件似乎会替换更新链接,个人不太喜欢这种方式,原汁原味更好,更安全。

赞(0) 打赏
未经允许不得转载:码农志 » 解决WordPress更新插件提示429 Too Many Requests

评论 抢沙发

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

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

支付宝扫一扫打赏

微信扫一扫打赏