最新消息:

linode debian lnmp nginx安装第三方Comodo PositiveSSL证书

web 林夕 6930浏览 1评论

linode安装第三方签名证书
安装Comodo PositiveSSL证书

为了装逼,我也决定使用ssl加密网站的数据传输,方便大家使用https来访问我的网站。
首先,是在土木坛子中看到说在 ssls.com购买COMODO的Positive SSL证书,三年只要15美元
然后在这个页面 https://www.ssls.com/comodo-ssl-certificates/ 选择$4.99/yr那种,点击Add to Cart添加到购物车。
如果没有帐号,可能需要注册一个帐号,ssls支持的付款方式有Paypal、Visa, MasterCard, AmEx, Discover, JCB, Diners Club、Bitcoin这几种。
成功付款后,接下来就是怎么申请部署SSL了。

CN 名字与姓氏(Common Name)
OU 组织单位名称(Organization Unit)
O 组织名称((Organization)
L 城市或区域名称(Locality)
ST 州或省份名称(State)
C 国家代码(Country)

要使用第三方签名证书,首先同样要创建私钥:

openssl genrsa 2048 > ssl.key
各参数含义:
openssl genrsa 2048:用 OpenSSL 来生成一个 2048 位 RSA 加密的私钥(Generate RSA),这个位数是可以改的
> ssl.key:通过重定向命令,把生成的私钥保存到 ssl.key 这个文件中

然后你也得告诉第三方 CA 你的 CN、地址、联系方式等,这时需要使用 Certificate Request,就是“证书请求”,它是私钥和证书信息的整合,把它交给第三方 CA,他们可以读取这个文件中的私钥和证书信息,然后帮你签名。这个 Certificate Request 文件的扩展名一般用csr

在刚才私钥的基础上生成证书请求的命令是这个:

root@(none):~# openssl req -new -key ssl.key > ssl.csr
You are about to be asked to enter information that will be incorporated //您将被要求输入将被纳入信息
into your certificate request. //为您的证书请求。
What you are about to enter is what is called a Distinguished Name or a DN. //你即将进入就是所谓的专有名称或DN。
There are quite a few fields but you can leave some blank //有相当多的领域,但你可以留下一些空白
For some fields there will be a default value, //对于某些领域会有一个缺省值,
If you enter '.', the field will be left blank. //如果您输入'.',该字段将留为空白。
-----

Country Name (2 letter code) [AU]:CN //国家名称(2字母代码)[AU]
State or Province Name (full name) [Some-State]:beijin //州或省名称(全称)一些国家]
Locality Name (eg, city) []:beijin //地区名称(如,市)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:abcd Ltd //组织名称(例如,公司)
Organizational Unit Name (eg, section) []:IT //组织单位名称(例如,部分)
Common Name (e.g. server FQDN or YOUR name) []:luoqkk.com //通用名称(例如服务器FQDN或您的姓名)
Email Address []:luoqkk@luoqkk.com //电子邮件地址,email一定要是你的域名后缀的

Please enter the following 'extra' attributes //请输入下面的“额外”的属性
to be sent with your certificate request //要与您的证书请求发送
A challenge password []:123456 //一个挑战密码
An optional company name []:www.luoqkk.com //一个可选的公司名称
root@(none):~#

然后在ssls网站申请证书界面,输入CSR信息后,有一个选择服务器类型的选项,Select Web Server:
我的服务器是nginx,我选择的是Apache + OpenSSL,

CSR Information
CommonName :luoqkk.com
DomainName :luoqkk.com
Country :CN
OrganisationUnit :IT
Organisation :abcd Ltd
State :beijin
Locality :beijin

Specify SSL Contact information [Contact information for a selected SSL]
Administrator Email Address:luoqkk@luoqkk.com
E-Mail Address to send the certificate.
First Name:luo
Last Name:qkk
Organization Name:abcd Ltd
Job Title
Street Address:abcd Road, beijin,beijin, China
Address 2
Country:China
State/ Prov:beijin
City:beijin
Zip/ Postal Code:123456
Phone:8612345678987
Fax Phone

提示: Congratulations! You have completed the activation. To complete the certificate issue process, the certificate request needs to be approved by the Approver. In a short while, an email will be sent to the selected approval email which will contain instructions on how to approve the certificate.
恭喜!您已经完成激活。为了完成证书问题的过程中,证书申请需要通过审批的批准。在很短的一段时间,会通过电子邮件发送到选定的审批电子邮件,其中包含有关如何批准证书的说明。
然后就是等待了。

Root CA Certificate – AddTrustExternalCARoot.crt //根CA证书 – AddTrustExternalCARoot.crt
Intermediate CA Certificate – COMODORSAAddTrustCA.crt //中间CA证书 – COMODORSAAddTrustCA.crt,这个文件名的意思是添加信任CA,也即服务器证书。
Intermediate CA Certificate – COMODORSADomainValidationSecureServerCA.crt //中间CA证书 – COMODORSADomainValidationSecureServerCA.crt,这个文件名的意思是域验证安全服务器CA。
Your PositiveSSL Certificate – luoqkk_com.crt //您PositiveSSL证书 – luoqkk_com.crt

服务器证书用来对个人证书签名,根证书用来对服务器证书签名,从而形成一条完整的证书链。

把luoqkk_com.crt复制一个副本,打开luoqkk_com.crt副本,依次把COMODORSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt、AddTrustExternalCARoot.crt三个证书文件中的内容添加到luoqkk_com.crt副本文件的下面。新的crt文件中应该依次是luoqkk_com.crt、COMODORSADomainValidationSecureServerCA.crt、COMODORSAAddTrustCA.crt、AddTrustExternalCARoot.crt的内容。把这个新crt文件和ssl.key文件上传到服务器。
Nginx安装SSL证书
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.域名.com;
root /home/www;
ssl on;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
}

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use) 错误解决
用lsof:443看下443端口被什么程序占用。发现没什么程序占用这个端口,于是重启vps。
重启VPS后,打开网站提示“403 Forbidden”,443端口的配置不完全。上面那个配置,网站根目录等都没设置啊,把80端口中的相关配置复制到443端口中。
wordpress评论头像红叉,启用评论缓存后OK。
//yimiaozhongdemeng.com/wp-comments-post.php没有使用ssl访问,会提示“只显示安全的内容”的提示。这个只要在后台中把WordPress地址(URL)和站点地址(URL)改为https的链接就可以了。

在后台—设置—常规—WordPress地址和网站域名处修改为https的链接。改了之后可以正常登录后台。

然后在后台,把能看到的地方都改一下。
在网页源代码中看到wp-comments-post.php这个文件的链接已经是https的加密连接了,但是为什么还是会提示“只显示安全内容”,并提示是否“显示所有内容”,没有引用http的内容呀!。
想到可能是分享类插件引起的,在主题文件源代码中查找“分享”关键词,找到d8\functions.php on line 252-254,把这三行注释后,打开网页后底部有出错提示:
d8\single.php on line 33
把/wp-content/themes/d8/ingle.php这个文件的第33行删除就是删除了百度分享插件。
<?php deel_share(); ?>
于是把这一行删除后OK。

参考资料:

http://ttt.tt/9/
Apache + WordPress + SSL 完全指南
https://tumutanzi.com/archives/12058
Google偏爱HTTPS SSL加密链接网站

https://tumutanzi.com/archives/11859
启用收费SSL加密证书(附域名、主机、HTTPS安全证书优惠)

https://tumutanzi.com/archives/12687
修改.htaccess强制HTTP重定向为HTTPS链接

https://tumutanzi.com/archives/13139
更新网站HTTPS SSL证书

https://tumutanzi.com/archives/13145
如何优惠购买HTTPS SSL证书?

http://cnzhx.net/blog/ssl-on-lamp-on-vps/
在Linode VPS 的 LAMP 平台上部署 SSL 加密服务 | 水景一页

http://www.gzsec.com/oldversion/filesys/news_view.asp?newsid=306
数字化身份的确定——数字证书

http://ichon.me/post/955.html
Nginx安装SSL证书

https://www.v2ex.com/t/136698
所以说到底,百度还是不支持 https 站点收录的

http://jerry.hk/notes/rewrite-base-on-ua
NGINX 区分搜索引擎爬虫与用户并URL重写

转载请注明:一秒钟的梦 » linode debian lnmp nginx安装第三方Comodo PositiveSSL证书

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 我没有非常清楚有关公钥和SSL证书的私钥,但是看完这篇文章后,我想和大家分享一个链接 哪里 同一产品的价格可在仅4美元
    PengChen4年前 (2015-05-13)回复