从http到https的探索,网站成功开启https访问!

2019年06月08日 384点热度 0人点赞 0条评论

由于宇泰自媒体是使用的西部数据的主机,之前一直是http访问,这两天寻思把网站采用ssl证书,于是就看了下西部数据相关的帮助信息。研究了一番。

在登陆主机面板时,找到ssl证书入口并单击打开页面,会提示购买ssl证书,宇泰选择了DV证书。

西部数据主机开启ssl证书过程

单击确定之后,就会进入到新的页面购买证书,宇泰是选择的DV型证书,仅需1元/年,点击立即购买后,在新页面中填写你要申请的域名,然后提交,稍等2分钟即可生成证书。

接下载就需要设置证书验证了,根据网站的帮助提示,采用文件验证会比较快,所以我采用的是文件验证。将信息复制并保存成txt文件,上传至主机根目录下,等到签发完成就可以把该文件清理了。

西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程西部数据主机开启ssl证书过程

在订单完成后,第一时间就收到了微信通知。

西部数据主机开启ssl证书过程

然后回到证书购买页面,看到证书已经成功签发:

西部数据主机开启ssl证书过程

然后就着手配置证书,根据西部数据提供的帮助信息,需要在根目录下的.htaccess中添加301规则,宇泰尝试添加了,但无效。

$_SERVER['HTTPS'] = 'on'; define('FORCE_SSL_LOGIN', true); define('FORCE_SSL_ADMIN', true);

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:From-Https} !^on$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC]                # 将abc.com和www.abc.com跳转到https://www.abc.com,防止apache子站继承上级目录.htaccess受影响
RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]
</IfModule>

又寻找别的帮助信息,要修改wp-includes/load.phpwp-includes/functions.php 的代码,西部数据主机开启ssl证书过程

function is_ssl() {
if ( isset( $_SERVER['HTTPS'] ) ) {
if ( 'on' == strtolower( $_SERVER['HTTPS'] ) ) {
return true;
}
if ( '1' == $_SERVER['HTTPS'] ) {
return true;
}
} elseif ( isset($_SERVER['SERVER_PORT'] ) && ( '443' == $_SERVER['SERVER_PORT'] ) ) {
return true;
} elseif (isset($_SERVER["HTTP_FROM_HTTPS"])&&$_SERVER["HTTP_FROM_HTTPS"]=='on'){
return true;
}
return false;
}

但是按照帮助修改后,整个站都打不开了。。。当时那个纠结的心情真是郁闷透顶,好在宇泰爱折腾,继续找问题。

在根目录的wp-config.php文件开头加代码。

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

代码加了之后是能打开了,但前台却错位了!这下真是郁闷极了。通过搜索得知,需要安装一款插件,于是乎便安装了某款插件,后台显示正常,前台仍然错乱!

没法子,只好排查代码。。。

查找代码中

后来发现原来是之前设置了css缓存到第三方导致的,于是将缓存域名取消,更换为本地css之后。。。

前台终于成功加载样式,至此宇泰自媒体网站将http添加ssl证书的过程结束!

Kratos

保持饥渴的专注,追求最佳的品质

文章评论

使用新浪微博登陆