wordpress解决429NGINX版代理

以下nginx配置 加到你的网站配置里,不影响现有网站运行

使用 /wp-api/ /wp-down/ 2个子目录。

location /wp-api/ {
proxy_pass_header Server;
proxy_cache off;
proxy_redirect off;
proxy_set_header Accept-Encoding 'deflate, gzip';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Referer 'WordPress';
#这里换成IP,加快速度
proxy_set_header Host 'api.wordpress.org';
proxy_pass https://198.143.164.251/;
#proxy_pass https://api.wordpress.org/;
}

location /wp-down/ {
proxy_pass_header Server;
proxy_cache off;
proxy_redirect off;
proxy_buffering off; #关闭缓冲区,实时传输
proxy_set_header Accept-Encoding 'deflate, gzip';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header Referer 'WordPress';
#这里换成IP,加快速度
proxy_set_header Host 'downloads.wordpress.org';
proxy_pass https://198.143.164.250/;
#proxy_pass https://downloads.wordpress.org/;
}

---------------------------------------------------

以下php代码加到主题的functions.php

把 $mydomain my.proxy.com 改成自己的域名

add_filter('pre_http_request', 'cnbjx_system_wordpress_proxy', 10, 3);
function cnbjx_system_wordpress_proxy($pre, $parsed_args, $url){
$host = parse_url($url, PHP_URL_HOST);
$mydomain = "my.proxy.com";
if(!in_array($host, ['api.wordpress.org', 'downloads.wordpress.org'])){
return $pre;
}
$url = str_replace('https://','http://', $url);
$url = str_replace('api.wordpress.org',$mydomain.'/wp-api', $url);
$url = str_replace('downloads.wordpress.org',$mydomain.'/wp-down', $url);
return wp_remote_request($url, $parsed_args);
};
本文由 8源码吧 作者:liaolong 发表,其版权均为 8源码吧 所有,文章内容系作者个人观点,不代表 8源码吧 对观点赞同或支持。如需转载,请注明文章来源。

发表评论