实战Godaddy站点的Let’s Encrypt证书申请与绑定

Let’s Encrypt的成功依赖于它的自动续期机制,根儿上还是既免费又省事儿(free and simple),同时又有各大厂商硬挺。免费还是小事儿,毕竟企业级客户不在乎一年那点儿小钱,如果你见过用户有成百上千个site,2-3年就需要替换到期的SSL证书时,你就能体会简化证书运维是多么重要。

本文以Godaddy为例,为体现通用性,我们在本地PC上申请首次90天Let’s证书,下载win-acme.v2.1.0.539.x64.pluggable.zip到独立文件夹,也可到官网下载最新版 https://pkisharp.github.io/win-acme/

第1阶段:指定域名和制作csr和key;

这里以www.charflower.com为例;准备key与csr文件,这里有多种手段,openssl命令/网上在线生成/Godaddy cPanel SSL管理器/NetScaler命令行等等;

第2阶段:借助ACME申请证书;

CMD下运行wacs.exe
选择m项,创建新证书
选择2,使用现有的csr和key文件并指定文件路径
这里选择3,借助ftp机制验证域名所有权,需要提供ftp账号信息
选择3和4跳过,验证成功后,pem证书下载到本地指定的文件夹中;
这里暂不考虑renewal的问题,后面专门讨论
将证书链文件chain.pem安装到Godaddy的SSL管理器

第3阶段 安装证书并配置http到https的重定向

到cPanel后台的SSL/TLS管理器
1和2是制作key和csr的地方,这里直接上传证书了;
选择证书文件,虽然写着crt格式,但是pem扩展名是支持的,所以放心上传;
安装上传的证书并绑定到关联站点
因为是单域名证书,所以只对www站点有效;
修改根目录的.htaccess文件
粘贴下面的配置,保存后覆盖旧文件
 RewriteCond %{SERVER_PORT} 80
 RewriteCond %{HTTP_HOST} ^(www.)?charflower.com
 RewriteRule ^(.*)$ http://www.ilovekonan.com/$1 [R,L]
借助浏览器F12开启开发者模式,测试charflower.com到http://www.ilovekonan.com的默认转发,再到http://www.ilovekonan.com的自动重定向;图中能够清晰的重现该流程。

如果是Linux Hosting,则将以下配置替换旧的.htaccess内容:

# BEGIN GD-SSL
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_USER_AGENT} ^(.+)$
RewriteCond %{SERVER_NAME} ^charflower\.com$ [OR]
RewriteCond %{SERVER_NAME} ^www\.charflower\.com$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
Header add Strict-Transport-Security "max-age=300"
</IfModule>
# END GD-SSL

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

剩下就是相关静态链接,如WordPress的全局域名定义等需要到后台手工修改即可!

如果你有ADC设备,则参考ADC设备的SSL Offload具体配置。该商业SSL证书还可用于LAB环境的相关实验验证。