今天给几个站点配置了认证的 ssl 证书,但是苦于自己技术不过关,或是知识不足,导致还有那么一小点 Bug 的出现,这里就我配置 HTTPS 站点的经验来总结一下吧。
一、什么是 SSL 证书,什么是 HTTPS 网站?
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。(来源)
二、什么网站需要 SSL 证书?
就我遇到过的网站,配置了认证的证书的,大概有这么几类:
1、购物交易类网站
这个就不用说了,支付宝、Paypal等肯定会加密以保护你的密码安全。
2、注册类站点
有些大站点,注册会员或者登陆的时候,会专门通过SSL通道,来保护你的密码安全,比如:https://www.name.com/account/login.php
3、在线代理类站点
这个,为了防止天朝某个部分嗅探出没加密的内容,嗯哼,就不说了。
4、耍酷类
比如我……
三、Nginx 下如何配置证书
之前,我介绍过如何购买并且配置 Godaddy 的证书:《Godaddy SSL证书以及 Nginx 配置HTTPS方法》,后来因为一个小失误,每次修改 Nginx 配置,重启 Nginx 的时候都会输入密码,所以之后买了 Comodo 的证书,并且让 @Paveo 帮我全部配置好,哈哈。
但是总请别人来配置总不太好意思,所以我得自己研究一下,然后,就当作记录和总结吧。
1、Nginx 配置 ssl 模块
默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下:
下载 Nginx 0.7.64 版本,解压 进入解压目录:
tar zxvf nginx-0.7.64.tar.gz
cd nginx-0.7.64
如果要更改header信息的话,
#define NGINX_VERSION "0.7.62"
#define NGINX_VER "nginx/" NGINX_VERSION
上面的版本号和nginx自己修改
编译
make
make
切记不要 make install
(来源:http://www.hostloc.com/thread-4871-1-1.html)
因为是小网站,用不着平滑升级,直接 reboot 重启 vps 即可。
OK,升级并且安装好 ssl 模块完毕,这里我把 Nginx 修改成了 zoulu,于是乎:
怎么样,很有个性吧!
2、使用 OpenSSL 生成证书
①、生成RSA密钥的方法
有的证书要 1024 的,所以得:
②、生成一个证书请求
会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的,比如 webmaster@zou.lu 并且能接受邮件!
这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件
(来源:http://www.lsproc.com/blog/nginx_ssl_config/)
直接 cat cert.csr
得到一大串字符,比如这样:
MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkhCMQwwCgYDVQQH
EwNTSloxDzANBgNVBAoTBkZhbmZvdTESMBAGA1UEAxMJZzFuZm91LmRlMSIwIAYJ
KoZIhvcNAQkBFhN3ZWJtYXN0ZXJAZmFuZm91LmRlMIGfMA0GCSqGSIb3DQEBAQUA
A4GNADCBiQKBgQC5l4PmZg6TCIpduefxq5gsLXN1JeQdBmUs+pEApeHmNoxE+R4k
VkQUJzLj5o3ltQGJzYrcIfru8NryQSxaT/5IjeFwS7nIMsx8KPkQQ71BJazsiZj+
CdLDRJj1m/SrjTsNrfYj4rFFS1FXq7uEDyreUx7fyAljx70jPSsGBOGwRQIDAQAB
oAAwDQYJKoZIhvcNAQEFBQADgYEACKCBQcnCq5yE3GFyN3NyxCQEvnspkIv9AqI4
FcwqyHPZWkupp3wfubHY80IwtfjlGlTSynzE7FZLVpcbNfKLnAYlYEwDY7NukJNy
pCbyqpJJXdAl3Jcun0NlLtSxTQpR+abO8va/BAO5Hp9h1rpSRtTdSJd2fC/owRV1
BfRuJnA=
-----END CERTIFICATE REQUEST-----
提交给你的 ssl 提供商即可,一般半个钟头到一天时间就会发给你证书,如图:
把所有文件全部上传到一个特定的目录,比如我是上传到 /root/zoulu/
这里,zoulukey.pem 和 zoulucert.csr 是自己在 VPS 生成的,剩下的都是证书签发机构颁发的。
一般情况下,直接用证书签发机构颁发的 crt 文件即可,比如 zou_lu.crt ,但是有很多证书签发机构默认在 Firefox 中文版下是不会信任的,经过仔细研究,终于发现,原来得把证书签发机构办法给你的 crt 文件也放入才行。
方法如下:
合并 PositiveSSLCA.crt (证书签发机构的 crt) 和 zou_lu.crt (自己域名的 crt)
cat zou_lu.crt >> PositiveSSLCA.crt
mv PositiveSSLCA.crt zou_lu.crt
或者直接用记事本打开,然后复制 PositiveSSLCA.crt 里面所有的内容到 zou_lu.crt 最下方即可。
(来源:http://www.lsproc.com/blog/nginx_ssl_config/)
③、修改 Nginx 配置
listen 443;
server_name zou.lu;
index index.html index.htm index.php;
root /home/zoulu;
error_page 404 403 http://zou.lu;
ssl on;
ssl_certificate /root/zoulu/zou_lu.crt;
ssl_certificate_key /root/zoulu/zoulukey.pem;
其他的配置信息和一般站点的一样,不再重复。
四、访问测试结果
在 Firefox 英文版 / Chrome / Opera / Safari / IE 6、7、8 下均没问题, https://zou.lu/ 在 Firefox 3.5.7 中文版下没问题,遇到问题的童鞋,检查你的系统时间,要是还不信任,那我也不是很清楚了,抱歉能力有限。
五、如何获得免费的证书
https://zou.lu/ 的证书是 PositiveSSL 签发的,这是一家 Comodo 的 Reseller ,目前可以通过如下途径获得:
去 NameCheap.com 注册、转移一个域名或者购买一款空间就能获得,而且是免费一年的哦!
需要注意的是,NameCheap 注册后颁发的证书没有证书签发机构的 PositiveSSLCA.crt ,这里我就放一个,为了大家安装方便:
MIIFAzCCA+ugAwIBAgIQTM1KmltFEyGMz5AviytRcTANBgkqhkiG9w0BAQUFADCB
lzELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2Ug
Q2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExho
dHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHzAdBgNVBAMTFlVUTi1VU0VSRmlyc3Qt
SGFyZHdhcmUwHhcNMDYwOTE4MDAwMDAwWhcNMjAwNTMwMTA0ODM4WjBxMQswCQYD
VQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdT
YWxmb3JkMRowGAYDVQQKExFDb21vZG8gQ0EgTGltaXRlZDEXMBUGA1UEAxMOUG9z
aXRpdmVTU0wgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9T3lY
IpPJKD5SEQAvwKkgitctVR4Q57h/4oYqpOxe6eSSWJZUDfMXukGeFZFV78LuACAY
RYMm3yDMPbOhEzEKIVx5g3mrJBVcVvC0lZih2tIb6ha1y7ewwVP5pEba8C4kuGKe
joteK1qWoOpQ6Yj7KCpNmpxIT4O2h65Pxci12f2+P9GnncYsEw3AAcezcPOPabuw
PBDf6wkAhD9u7/zjLbTHXRHM9/Lx9uLjAH4SDt6NfQDKOj32cuh5JaYIFveriP9W
XgkXwFqCBWI0KyhIMpfQhAysExjbnmbHqhSLEWlN8QnTul2piDdi2L8Dm53X5gV+
wmpSqo0HgOqODvMdAgMBAAGjggFuMIIBajAfBgNVHSMEGDAWgBShcl8mGyiYQ5Vd
BzfVhZadS9LDRTAdBgNVHQ4EFgQUuMoR6QYxedvDlMboGSq8uzUWMaQwDgYDVR0P
AQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwewYDVR0fBHQwcjA4oDagNIYy
aHR0cDovL2NybC5jb21vZG9jYS5jb20vVVROLVVTRVJGaXJzdC1IYXJkd2FyZS5j
cmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9VVE4tVVNFUkZpcnN0LUhh
cmR3YXJlLmNybDCBhgYIKwYBBQUHAQEEejB4MDsGCCsGAQUFBzAChi9odHRwOi8v
Y3J0LmNvbW9kb2NhLmNvbS9VVE5BZGRUcnVzdFNlcnZlckNBLmNydDA5BggrBgEF
BQcwAoYtaHR0cDovL2NydC5jb21vZG8ubmV0L1VUTkFkZFRydXN0U2VydmVyQ0Eu
Y3J0MA0GCSqGSIb3DQEBBQUAA4IBAQAdtOf5GEhd7fpawx3jt++GFclsE0kWDTGM
MVzn2odkjq8SFqRaLZIaOz4hZaoXw5V+QBz9FGkGGM2sMexq8RaeiSY9WyGN6Oj5
qz2qPMuZ8oZfiFMVBRflqNKFp05Jfdbdx4/OiL9lBeAUtTF37r0qhujop2ot2mUZ
jGfibfZKhWaDtjJNn0IjF9dFQWp2BNStuY9u3MI+6VHyntjzf/tQKvCL/W8NIjYu
zg5G8t6P2jt9HpOs/PQyKw+rAR+lQI/jJJkfXbKqDLnioeeSDJBLU30fKO5WPa8Y
Z0nf1R7CqJgrTEeDgUwuRMLvyGPui3tbMfYmYb95HLCpTqnJUHvi
-----END CERTIFICATE-----
你也可以试试 Startssl 的证书,缺点是在旧电脑,没有更新的情况下,IE 6是绝对不信任他的,详见:http://blog.s135.com/startssl/
最后声明一点,受信任的 ssl 证书必须有独立IP,或者说,一个IP只能对应一个域名的证书,爱玩的朋友可以弄一个玩玩。
PS:忙考试了,一直到我生日(1.19),博客暂停更新,见谅。
相关信息
本文短网址:http://aa.cx/6wf , 如果你觉得本文很可爱,请使用 Twitter 来分享本文:Tweet This
- 收藏+分享: Delicious / Live Favorites / Google书签 / 百度搜藏 / QQ书签 / 饭否 / 豆瓣 / Twitter


已有58条评论
胡戈戈
发表于2010年01月6日21:05
沙发
[回复]
Jutoy
回复:
January 7th, 2010 at 10:57
@胡戈戈, 强悍的沙发党…
[回复]
LAONB
回复:
January 7th, 2010 at 13:02
@胡戈戈, 又见亚灭碟。
[回复]
kangzj
发表于2010年01月6日21:05
板凳
[回复]
whcoupon
发表于2010年01月6日21:06
替我的马甲抢个地板
[回复]
蓝冰
回复:
January 13th, 2010 at 09:12
@whcoupon, Y的,还不换个头像
[回复]
Youwei
发表于2010年01月6日21:08
不错
[回复]
Vica
发表于2010年01月6日21:12
[回复]
Showfom
回复:
January 6th, 2010 at 21:13
@Vica, 不是 就是因为没有把CA证书放进去的缘故
[回复]
Vica
回复:
January 6th, 2010 at 21:42
@Showfom, 喔,原来如此(虽然我这边一直是感叹号)。用https访问的话广告都没了,发现没有?
[回复]
Showfom
回复:
January 6th, 2010 at 21:54
@Vica, 发现了,没有几家广告商支持https的
[回复]
bolo
回复:
January 8th, 2010 at 11:45
@Showfom, 内容都加密了,GG抓不到关键词怎么放AD?笨
[回复]
Showfom
回复:
January 8th, 2010 at 11:47
@bolo, 操 我早发现并且试验过 加密和GG有个毛关系 GG还是能搜索到https站点的 我的广告是百度的 笨!
[回复]
free_all_POC
发表于2010年01月6日21:15
我访问这个网站没有自动转https呀
[回复]
Showfom
回复:
January 6th, 2010 at 21:16
@free_all_POC, 我这个博客,没必要自动转~
[回复]
少杰
发表于2010年01月6日21:38
晕啊! 我的浏览器挂了两个小时的兽兽博客。可还是没抢到沙发

[回复]
冰古
回复:
January 6th, 2010 at 21:59
@少杰, 可怜的家伙
[回复]
Showfom
回复:
January 6th, 2010 at 22:15
@少杰, 囧
[回复]
少杰
回复:
January 6th, 2010 at 22:17
@Showfom,

你要补偿我啊。
下次更新时发个邮件给我。
呵呵呵呵
[回复]
Showfom
回复:
January 6th, 2010 at 22:18
@少杰, 你用邮件订阅呗 哈哈
[回复]
少杰
发表于2010年01月6日22:19
准备更新前给我发个邮件
嘻嘻
[回复]
joojen
发表于2010年01月6日22:35
用ngins啊,也忒专业了吧
[回复]
joojen
发表于2010年01月6日22:37
怪不得你的博客这么快的,原来用的vps啊
[回复]
nothing
发表于2010年01月6日22:39
博主很不老实哦~买HTTPS要作什么呢?tw1tteR

[回复]
Showfom
回复:
January 6th, 2010 at 22:49
@nothing,

[回复]
fx_wonder
发表于2010年01月6日23:07
好吧,祝博主生日快乐哈~~

[回复]
fx_wonder
回复:
January 6th, 2010 at 23:12
@fx_wonder, 灵异事件……我没文明用语啊,国旗咋变米国的了呢?

[回复]
HR
发表于2010年01月7日00:15
祝Showfom考试顺利
今天我在twitter上问你这个ssl问题来着,这里看着总结很全面~ 
[回复]
zwwooooo
发表于2010年01月7日00:24
好复杂啊,我就不折腾这个了
[回复]
derek
发表于2010年01月7日01:12
完全看不懂...........
低调路过
[回复]
小宇
发表于2010年01月7日01:27
码这么多字 真不容易 还排版. 记得回访哦
[回复]
万戈
发表于2010年01月7日08:22
1.19生日啊孩子,到时我来扔蛋糕
[回复]
licream
发表于2010年01月7日09:56
[回复]
要饭的
发表于2010年01月7日09:57
暂时还用不到这些吧,以留后观
[回复]
Jutoy
发表于2010年01月7日10:56
纯支持~
[回复]
LAONB
发表于2010年01月7日13:02
我是来帮你点广告的。
[回复]
蓝冰
发表于2010年01月7日16:20
1.19你生日哦?1.16我的唉·!~
[回复]
tonyan
回复:
January 7th, 2010 at 19:15
@蓝冰,
和我同一天么,
[回复]
蓝冰
回复:
January 7th, 2010 at 22:39
@tonyan, ………………………………………………………………
[回复]
久酷
发表于2010年01月7日20:38
另外你网站最下面那个工具条很让人难受啊.............碍眼.............去了吧.

[回复]
Showfom
回复:
January 7th, 2010 at 21:07
@久酷, 换上新代码了 加载速度应该很快 哈哈
[回复]
internetgeek
发表于2010年01月7日20:47
学习一下
[回复]
bolo
发表于2010年01月8日02:33
就这样把你的密钥贴出来了?
[回复]
Showfom
回复:
January 8th, 2010 at 11:42
@bolo, 当然我改过的!笨~
[回复]
小宇
发表于2010年01月8日03:37
继续求做链接
[回复]
bokuno
发表于2010年01月8日11:14
用WM的智能机来试着评论一下。
[回复]
truant
发表于2010年01月10日23:27
测试……
[回复]
truant
发表于2010年01月10日23:28
第二次测试
[回复]
左岸读书
发表于2010年01月11日11:36
看了,一个头两个大,点广告吧!
[回复]
simaopig
发表于2010年01月12日17:24
不错不错,研究的越来越深了嘛。。加油,我看好你。
[回复]
Showfom
回复:
January 12th, 2010 at 17:43
@simaopig, 唔 php 还没仔细研究 囧
[回复]
ym
发表于2010年01月13日03:14
hi.你修改的ngixn配置文件中的:root /home/zoulu;我 如果使用licess的lnmp包,是否应改为:/home/wwwroot/呢?
[回复]
Showfom
回复:
January 13th, 2010 at 17:02
@ym, 可以自定义的
[回复]
少杰
发表于2010年01月13日15:26
更新,一个星期了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++
少杰的最新博文:惊天动地:百度10小时收录了我的新博客 xvsj.org
[回复]
Showfom
回复:
January 13th, 2010 at 17:02
@少杰, 没看到最后一句话吗
[回复]
ym
发表于2010年01月23日01:07
hi.
关于“Nginx 配置 ssl 模块”。openssl就是ssl module吗?如果不是,我是用apt-get install nginx命令安装nginx的,没法运行./configure,怎么办呢?
期待回复
[回复]
Showfom
回复:
March 5th, 2010 at 15:52
@ym, 我也不清楚 去vpser.net问问吧
[回复]
Trackbacks