如何为已有WordPress站点安装SSL证书开启全局https访问

为自己站点安装SSL证书,开启全局https访问已经越来越重要,很多站长都已经把自己的站点悄然安装了SSL证书。蜗牛789最近也比较关注SSL证书的安装,这两天也在着手把本博客开启https访问,细心的朋友蜗牛789已经全站启用了https访问。下面为大家介绍下如何WordPress站点安装SSL证书开启全局https访问,分享下蜗牛安装过程中遇到的问题和解决办法,希望大家少走弯路。安装SSL证书前,请一定先备份好你的站点

一、准备SSL证书

想要给自己站点安装SSL证书,那么首先需要准备好SSL证书,至于是购买还是使用免费的,请自己选择。关于免费SSL证书,本博客就为大家介绍了四家,分别是阿里云、七牛云、腾讯云、Let’s Encrypt提供的,阿里云、七牛云、腾讯云免费证书使用期限都是一年,Let’s Encrypt的免费SSL证书使用期限是三个月。像阿里云、七牛云、腾讯云免费SSL证书至于一年后会收费还是怎样,暂时都不知道,所以能用一年就先用一年再说吧。对于便宜的SSL证书,蜗牛暂时还没有关注,如果在以后发现了适合的实惠SSL证书再推荐给大家。阿里云、七牛云、腾讯云免费SSL证书申请教程如下,可根据自己需要选择。

二、安装SSL证书

关于安装SSL证书确实很重要,很容易出错。本博客也为大家介绍了在LNMP一键安装包、WDlinux lanmp一键安装包 、宝塔Linux面板、OneinStack一键PHP/JAVA安装工具搭建的VPS建站环境下如何安装SSL证书,其中LNMP一键安装包和OneinStack一键PHP/JAVA安装工具支持自动配置Let’s Encrypt SSL证书,可以一键帮大家申请和安装好SSL。而WDlinux lanmp一键安装包 、宝塔Linux面板目前还需要大家手动安装SSL。其中使用LNMP一键安装包v1.4安装建站环境配置SSL证书最为简单,在创建虚拟主机过程中不仅支持自动安装Let’s Encrypt SSL证书,还支持配置自定义SSL证书,不需要我们手动修改.conf文件就能自动安装。但缺点是LNMP一键安装包v1.4目前还处在测试阶段,可能不够稳定,另外LNMP一键安装包安装的建站应用没有可是的控制面板,那些喜欢有虚拟主机一样控制面板的朋友也许不太喜欢使用LNMP一键安装包来为自己VPS搭建建站环境。蜗牛789的SSL证书就是自己手动配置的,下面把自己在配置过程中遇到的问题分享给大家,让大家都能正确配置好SSL证书。

几款常用VPS面板配置SSL证书教程:

1、SSL证书配置代码一定要安装正确。在安装过程中,很容易犯得错误就是,把证书配置教程的一段代码修改下域名和证书路径就直接复制到.conf,访问过程中感觉https能访问了,没有什么错误,但是等到你上传站点程序到网站目录,安装时,你发现无法安装程序,https访问某个php文件就是下载及访问站点都是403错误,使用https无法安装WordPress,但是使用http访问又正常了。蜗牛开始遇到这个问题到处找办法解决,一直没有找到解决的办法。后来认为自己代码是不是安装错误,结果一换方法还真的安装错了。下图为错误配置方法:

2、正确配置代码是,应该把SSL配置代码插入到原有代码之中,建议按下面位置插入。下面红字部分是加入内容,请根据自己域名和证书位置修改好代码加入,建议代码位置也和蜗牛的一致,以免出错。如果你配置正确了,发现https访问是不会出现403错误和直接下文件的。

server
{
listen 80;
listen 443;
server_name www.wnfree.xyz wnfree.xyz;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/www.wnfree.xyz;
if ($ssl_protocol = “”) { return 301 https://$server_name$request_uri; }
if ($host != www.wnfree.xyz) { return 301 $scheme://www.wnfree.xyz$request_uri; }
#error_page 404/404.html;
error_page 404 /404.html;
error_page 502 /502.html;

include enable-php-54.conf;
include rewrite/www.wnfree.xyz.conf;
ssl on;
ssl_certificate /etc/1_www.wnfree.xyz_bundle.crt;
ssl_certificate_key /etc/2_www.wnfree.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log on;
}
location ~ .*.(js|css)?$
{
expires 12h;
access_log on;
}
access_log /www/wwwlogs/www.wnfree.xyz.log
}

3、如果证书代码也配置好了,站点程序也安装好了,以WordPress为列,我们设置固定链接为html时,访问文章出现404错误,无法正常访问。但是链接没有改成伪静态是可以正常访问的。其实还是.conf出了问题,我们需要在.conf加上一段伪静态规则代码。所以真正正确的.conf配置如下:

server
{
listen 80;
listen 443;
server_name www.wnfree.xyz wnfree.xyz;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/www.wnfree.xyz;
if ($ssl_protocol = “”) { return 301 https://$server_name$request_uri; }
if ($host != www.wnfree.xyz) { return 301 $scheme://www.wnfree.xyz$request_uri; }
#error_page 404/404.html;
error_page 404 /404.html;
error_page 502 /502.html;

include enable-php-54.conf;
include rewrite/www.wnfree.xyz.conf;
ssl on;
ssl_certificate /etc/1_www.wnfree.xyz_bundle.crt;
ssl_certificate_key /etc/2_www.wnfree.xyz.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
access_log on;
}
location ~ .*.(js|css)?$
{
expires 12h;
access_log on;
}
access_log /www/wwwlogs/www.wnfree.xyz.log;

if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}

三、修改数据库及恢复站点文件

1、SSL证书安装好了,接下来就是修改数据库,把http链接替换成https,然后再在数据库管理面板导入数据库即可。其实修改数据库链接很简单,我们把备份好的数据库用“Notepad++ ”来编辑。然后使用“搜索”中“替换”来修改。数据库修改完成后进入你的数据库管理页面,找到你站点数据库点击进入,然后把修改好的数据库导入进入。

2、恢复原来的站点文件,在你备份包里找到“wp-content”文件夹,然后把里面的“plugins、themes、uploads”三个文件夹内容上传到你站点对应文件夹。然后你在访问网站,发现https访问及图片一切正常!

赞 (0)