未备案wordpress网站使用UCLOUD免费CDN并开启https访问


教程开始

首先我们去注册一个UCLOUD的账号,并且完成个人认证,这个过程我就不多说了,识字的人都能搞定。注意领取CDN免费代金券的激活码记得激活一下:PW17JAM

激活之后代金券里可以看到34元的代金券,在云分发里可以购买100G的流量包

接下来我们登录控制台后创建一个对象存储如下图


地点选择国内,北京或者上海都行,空间类型选择公开空间,然后输入一个名字点确定

进入我们创建的对象存储空间后,点击域名管理,然后把下面的加速开启


然后点击镜像回源,添加上我们网站的网址,只能选择http开头,不要担心,不用管它,直接写上我们的网址www.863134.com,然后我们点左上角的全部产品,然后选择云分发,直接点到域名管理页面,如下图

我们在此页面,可以看到我们已经有一个加速域名了,但是这个域名是不支持https访问的,右边可以看到https加速小绿灯没有亮,先不管它,我们先把我们的加速域名记下来,863134.ufile.ucloud.com.cn,然后点击全部产品,一直往下拉,找到证书管理USSL,在右下角如下图

然后在证书页面点击购买证书,按我下图选择免费一年的SSL证书

然后一路确定,并且支付0元,返回证书界面之后,点击补全信息,在弹出页面内把信息填上,关键点是域名绑定域名栏填写我们刚刚记下的UCLOUD送我们的加速域名863134.ufile.ucloud.com.cn(改成你自己的),最下面验证方式选择文件验证,然后点击提交。接下来我们会看到给我们的文件信息如下图

我们在桌面创建一个txt文档,起名为fileauth.txt,文件内容复制上2019042215075828tdp0cq65bjs231p98q0ldr0hay4k5a09kuchajv3yxwo1y52(更换为你自己的内容),点击确定,然后关键点又来了,我们点左上角的全部产品,然后选择对象存储,进入我们刚刚创建的对象存储空间,点击文件管理,然后点击上传文件,如下图

点击自定义前缀,填上.well-known/pki-validation,然后上传我们刚刚创建的fileauth.txt文件,然后回到USSL证书管理页面点击验证,等待大概5-10分钟会提示验证通过。状态变成已颁发,右边多了一个下载按钮,我们点击下载。

解压完成后,我们在nginx文件夹下会看到两个文件,分别是public.pem和private.key,然后我们点击全部产品,选择云分发,进入CDN云分发页面,点击证书管理,然后点击创建证书,如下图

名字自己起,第一个文件选择public.pem,第二个文件选择private.key,然后点击确定,接下来我们继续在云分发页面点击域名管理,然后点击左边资源id下面的对照的名字

然后在基本信息里把https加速点开,因为我的小站基本都是国人看,所以只选择了国内加速,点击按钮改成启用

弹出的页面里会让我们选择证书,默认就是我们刚刚创建的证书,点击确定。到这一步基本上就操作完了,当然我们还可以在该页面里点击域名配置,把我们的缓存规则改一下,我一般就是缓存图片

此时我们在UCLOUD的设置就已经完成了,说白了就是给UCLOUD送我们的加速域名申请了一个SSL证书,这样他就支持https访问了。下面的教程是免插件开启wordpress的CDN方法,结合我们需要用到的就是我们刚刚在UCLOUD的加速域名863134.ufile.ucloud.com.cn(换成你自己的)

免插件纯代码让wordpress使用CDN教程如下:

只需要修改主题的文件夹里的functions.php文件,在下面添加以下代码

/*静态文件CDN加速*/
define('FocusCDNHost','https://www.863134.com');//wordpress网站网址
define('FocusCDNRemote','https://863134.ufile.ucloud.com.cn');//cdn域名 
define('FocusCDNIncludes','wp-content,wp-includes');//设置加速目录
define('FocusCDNExcludes','.php|.xml|.html|.po|.mo|.js|.css|.htm|.ttf|.woff|');//设置文件白名单
define('FocusCDNRelative','');//Check this if you want to have links like <wp-content/abc.png> rewritten - i.e. without your blog's domain as prefix.
 
function do_cdnrewrite_ob_start() {
$rewriter = new FocusCDNRewriteWordpress();
$rewriter->register_as_output_buffer();
}
add_action('template_redirect', 'do_cdnrewrite_ob_start');
 
class FocusCDNRewriteWordpress extends FocusCDNRewrite
{
function __construct() {
$excl_tmp = FocusCDNExcludes;
$excludes = array_map('trim', explode('|', $excl_tmp));
 
parent::__construct(
FocusCDNHost,
FocusCDNRemote,
FocusCDNIncludes,
$excludes,
!!FocusCDNRelative
);
}
public function register_as_output_buffer() {
if ($this->blog_url != FocusCDNRemote) {
ob_start(array(&$this, 'rewrite'));
}
}
 
}
 
class FocusCDNRewrite {
var $blog_url = null;
var $cdn_url = null;
var $include_dirs = null;
var $excludes = array();
var $rootrelative = false;
 
function __construct($blog_url, $cdn_url, $include_dirs, array $excludes, $root_relative) {
$this->blog_url = $blog_url;
$this->cdn_url = $cdn_url;
$this->include_dirs = $include_dirs;
$this->excludes = $excludes;
$this->rootrelative = $root_relative;
}
 
protected function exclude_single(&$match) {
foreach ($this->excludes as $badword) {
if (stristr($match, $badword) != false) {
return true;
}
}
return false;
}
 
protected function rewrite_single(&$match) {
if ($this->exclude_single($match[0])) {
return $match[0];
} else {
if (!$this->rootrelative || strstr($match[0], $this->blog_url)) {
return str_replace($this->blog_url, $this->cdn_url, $match[0]);
} else {
return $this->cdn_url . $match[0];
}
}
}
 
protected function include_dirs_to_pattern() {
$input = explode(',', $this->include_dirs);
if ($this->include_dirs == '' || count($input) < 1) {
return 'wp\-content|wp\-includes';
} else {
return implode('|', array_map('quotemeta', array_map('trim', $input)));
}
}
 
public function rewrite(&$content) {
$dirs = $this->include_dirs_to_pattern();
$regex = '#(?<=[(\"\'])';
$regex .= $this->rootrelative
? ('(?:'.quotemeta($this->blog_url).')?')
: quotemeta($this->blog_url);
$regex .= '/(?:((?:'.$dirs.')[^\"\')]+)|([^/\"\']+\.[^/\"\')]+))(?=[\"\')])#';
return preg_replace_callback($regex, array(&$this, 'rewrite_single'), $content);
}
 
}


代码里的网站地址换成你自己的地址,CDN加速地址输入我们刚刚在UCLOUD得到的加速地址,由于我只加速图片,所以白名单里我把CSS和JS还有字体文件都过滤了,因你的情况而异吧。

文章转载自Litchi’s Blog


【如果觉得有用,请点击下方链接,可以免费打赏我两分钱哦,老铁】

【点一下可免费打赏我2分钱哦】

最新回复 (1)
  • 管理员组 来搜咯 1月前
    0 引用 2

    另一篇教程 可供参考
    https://iuok.me/archives/308

    • 来搜咯laisolo.cn
      3
        登陆 注册 登陆
返回
【商务合作请加QQ2718003198