申请SSL证书
每年2.5$ 的SSL证书申请地址在这里:https://billing.centriohost.com/cart.php?a=add&pid=21
打开后看到原价是10$/年,域名使用泛域名: *.imxylz.com,服务器IP地址需要提供公网IP地址。邮件的前缀可以选择一个,后缀是域名地址。
当然需要一个2048位的CSR。
生成一个CSR私钥,可以使用下面的名称:
#openssl genrsa -out imxylz.com.pem 2048
#openssl req -new -key imxylz.com.pem -out imxylz.com.csr
需要注意的是生成csr最好不输入密码,否则某些web服务器(例如apache)启动时需要输入密码。
另外CN (Common Name is a Necessary Item) 应该是 *.imxylz.com,否则会被拒绝。
(我在这个地方折腾好久,最后发ticket更换csr才解决)。
然后在下一页付款是输入优惠码 LET2SSL ,即可优惠7.5$,这样就只剩下2.5$/年了。
以后每年续费也按照这个价格进行。
付款完成后系统会发送邮件给第一步选择的邮箱地址: 前缀@imxylz.com,例如我的是: admin@imxylz.com
特别注意的是:由于邮件会发送给admin@imxylz.com,因此需要提前准备好邮件服务器,例如我当时就安装了postfix又来接收邮件。
由于pop3没有安装成功,因此我将收到的邮件 /root/Maildir/new/xxxxxx 下载回来,改成.eml后缀文件用OS X的Mail打开的。
邮件中有一个链接地址,需要确认信息是否正确,确认即可。(如果不确认及意味着操作失败,不能进行以后的操作了)。
比较悲剧的是我当时将邮件服务器搞坏了,没有收到邮件,最后只好发送ticket请求重发。
好在工作人员非常厚道,将证书发送给admin@imxylz.com以及我的gmail邮箱。
正常应该不发送给非域名邮箱的。
再次表扬下centriohost网站的工作人员,对ticket的处理比较及时。不爽的地方在于注册的时候会将密码明文发送到注册邮箱中。
Nginx 安装证书
邮件中有两个证书,一个是域名证书,一个是根证书。
将两个证书合并成一个文本文件(包括注释) imxylz.com.crt。
(注意域名证书在上,根证书在下,否则nginx启动会报错误。)
现在我们需要两个文件: imxylz.com.pem以及imxylz.com.crt。
1. 编译Nginx
如果nginx没有支持SSL,则需要重新编译。可通过 nginx -V 来检查是否支持SSL。
#./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#make #make install 2. 配置证书
将证书拷贝到/usr/local/nginx/conf中,然后配置(/usr/local/nginx/conf/nginx.conf)如下:
server {
listen 443; server_name imxylz.com; index index.html; ssl on; ssl_certificate /usr/local/nginx/conf/imxylz.com.crt; ssl_certificate_key /usr/local/nginx/conf/imxylz.com.pem; location / { root /data/imxylz.com/public; } }
测试下nginx并运行。
#/usr/local/nginx/sbin/nginx -t
#/usr/local/nginx/sbin/nginx
现在就可以通过 https://imxylz.com 访问HTTPS服务了。
当然如果网站有非https的资源,就需要改造地址,否则Windows下浏览器会弹出警告。
例如:
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script; <link href="//fonts.googleapis.com/css?family=PT+Sans:regular,italic,bold,bolditalic" rel="stylesheet" type="text/css"> 如果有问题,可以检查nginx的error_log。 [原文地址: https://imxylz.com/blog/2013/09/11/https-of-nginx/] (责任编辑:IT) |