DirectAdmin安装StartSSL免费SSL证书,大致步骤是:注册StartSSL -> 验证域名 -> 申请证书【分为两步,生成私匙(可在DirectAdmin控制面板生成,也可以直接在StartSSL中生成) 和 生成证书 】 -> 在DirectAdmin安装证书 -> WordPress 配置 https。
下面是方法:
1、注册StartSSL
这个就不多说了,网上有很多现成的教程,也不难,主要是信息填写正确就可以了,我是申请了两次就通过了。附上免费资料部落注册StartSSL的教程。
2、验证域名
这个也简单,验证时,把域名注册E-mail收到的验证码填入认证即可。注意:如设置了域名隐私保护,需要先关闭隐私保护。
3、申请证书
分为生成私匙(可在DirectAdmin控制面板生成,也可以直接在StartSSL中生成) 和 生成证书两步。
我是直接在StartSSL中生成私匙的,生成私匙 和 生成证书在Certificates Wizard就可以完成。
a.->选择 Web Server SSL/TLS Certiticate ,然后 Continue 即可。
b.->生成私匙(Generate Private Key),输入密匙加密密码(注意保存密码),点击 Continue,弹出的提示框按确定即可。(如已在DirectAdmin控制面板生成私匙,点 Skip 跳过此步)
c.->保存私匙(Save Private Key),保存到 txt 文件或者另存为 ssl.key ,然后 Continue。
d.->添加域名(Add Domains),然后还要添加一个子域名,一般写 www 即可。--> Continue。
Continue 转到准备生成证书页面,--> Continue。
证书生成了,保存为 txt 文件或者 ssl.crt。另外,下图红色横线上面的两个链接文件( Intermediate 和 root CA)也要另存下来。
至此证书申请完毕!
附上:DirectAdmin控制面板生成私匙方法。
4、在DirectAdmin安装证书
a.在 DirectAdmin 选择要配置SSL的域名,点SSL证书开启改域名【安全的SSL】。
b.私匙到StartSSL解密(如私匙在DirectAdmin生成的则不用),Tool Box -> Decrypt Private Key,将前面生成的ssl.key私匙和密码分别输入到框内。
c.点 Decrypt 完成解密,将解密后的私匙 与 前面生成的证书ssl.crt 一起粘贴到DirectAdmin控制面板,然后保存即可。
d.粘贴 CA 根证书到 DirectAdmin控制面板。
将生成证书最后一步 Intermediate 链接保存的文件内容粘贴到上图左下角[点击此处 粘贴CA根证书]处即可。
至此,证书安装完毕。
5、WordPress 整站 HTTPS 免插件配置
0.0.配置 HTTPS 的前提条件
- 最好是 VPS 甚至独立服务器,如果是共享主机的,则需要主机商提供 SSL/TLS 功能。
- 服务器上必须开启了 mod_ssl。
- 必须独立 IP,如果没有,则需要主机打开 SNI 功能,比如兔二爷推荐的 MediaTemple GRID主机。
a.更改【WordPress地址(URL)】和【站点地址(URL)】为 https 链接。(仪表盘->设置->常规)
b.进数据库,SQL替换文章内容、评论内容中的http链接(操作数据库有风险,注意备份)
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.example.com', '//example.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://example.com', '//example.com');
c. 配置 .htaccess 整站 http 强制跳转到 https。(据说此方法可以照顾度娘收录)更详细方法移步【Wzyboy’s Blog】
RewriteEngine On
RewriteCond %{HTTPS} !on [NC]
RewriteCond %{HTTP_USER_AGENT} !(baiduspider|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot|msie|feedburner) [NC]
RewriteRule (.*) https://example.com%{REQUEST_URI} [R=301,NC,L]
注意此代码可能需要放至 WordPress 伪静态配置代码前面,比如:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on [NC]
RewriteCond %{HTTP_USER_AGENT} !(baiduspider|soso|bing|sogou|yahoo|sohu-search|yodao|robozilla|msnbot|msie|feedburner) [NC]
RewriteRule (.*) https://cyhour.com%{REQUEST_URI} [R=301,NC,L]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
d.手工检查将主题、评论、插件等引用的http改为https
至此已基本完成了 WordPress 整站 https 了。
----------------------------------------- 吐槽:修改了 DNS 服务器,等了小半天终于切换过来了。( 修改 DNS 服务器需要最长 48 小时的全球生效时间,请耐心等待)
-----------------后记------------------ HTTPS 昨晚才基本弄好,Google 搜索首页几乎是秒变,度娘的暂时也还能搜索到。
非常之给力,mark~
@龙笑天 应该有点过时了……
@老头 还好,至少我是按照你的教学设置的啊!