为Openshift上搭建的网站配置SSL证书

  • Posted on
  • by

Openshift的免费账户不支持https加密,但升级到铜牌用户后是可以的。升级到铜牌用户需要输入信用卡以及相关个人信息,如果账号下创建的应用不超过三个,仍然是免费的。

本文总结了为在Openshift上安装的应用配置SSL证书的经验。文中所用Openshift的服务器端操作系统为redhat,本地操作系统Mac os X。所使用的SSL证书为COMODO的POSITIVE SSL。

安装步骤如下,其中斜体字表示需要根据实际进行输入。

1 创建公钥与私钥

通过SSH登录服务器,分别执行如下命令创建公钥与私钥。

cd ~/app-root/data/
openssl genrsa -des3 -out appName.key 2048
openssl req -new -key appName.key -out appName.csr

根据命令行提示输入国家、省份、城市、机构等信息。需要注意的是其中的"Common Name"为你需要加密的域名。本文中示例的COMODO会提供一个额外的保护,即如果你注册的是a.domain.com,则会提供www.a.domain.com的加密认证,因此用户可以根据需要填写。 执行cat命令可以查看公钥、私钥的内容。

cat appName.csr

2 申请SSL证书

很多域名注册商都提供SSL证书注册代理,其中Namecheap的证书就挺便宜。激活证书需要前一步骤所创建的appName.csr。

3 设置SSL证书

注册完毕后,COMODO会邮寄四个文件。必须将四个证书生成证书链才能被大多数浏览器识别。 进入解压缩后证书文件目录,然后使用cat命令生成证书链文件。

cat domain_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > CA.cer

将证书链文件及第一步创建的私钥放在同一级目录,使用如下命令,就可以为域名为www.domain.com的应用appName配置SSL证书。也可以进入Openshift网站的应用控制界面配置,但是命令行配置办法可以更直观的发现错误信息。

rhc alias-update-cert appName www.domain.com --certificate CA.cer --private-key appName.key --passphrase PASSWORD