在Nginx服务器下配置StartSSL和SSL的教程
第一步 申请本地证书
1. openssl 之类的软件我就不多说,系统自带的,如果不带,自己 yum 下
[root@e2fsck ~]# openssl genrsa -des3 -out e2fsck.org.key 2048 generating rsa private key, 1024 bit long modulus ………..++++++ ………..++++++ e is 65537 (0×10001) enter pass phrase for e2fsck.org.key: 输入密码 verifying – enter pass phrase for e2fsck.org.key: 输入密码 [root@e2fsck ~]# openssl req -new -key e2fsck.org.key -out e2fsck.org.csr enter pass phrase for e2fsck.org.key: 输入密码 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. 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) [xx]:cn state or province name (full name) []:js locality name (eg, city) [default city]:sz organization name (eg, company) [default company ltd]:e2fsck organizational unit name (eg, section) []:e2fsck.org common name (eg, your name or your server's hostname) []:*.e2fsck.org email address []:root@e2fsck.org please enter the following ‘extra' attributes to be sent with your certificate request a challenge password []: 直接回车 an optional company name []: 直接回车 [root@e2fsck ~]# openssl rsa -in e2fsck.org.key -out e2fsck.org_nopass.key enter pass phrase for e2fsck.org.key: 输入上面的密码 writing rsa key [root@e2fsck ~]# ls e2fsck.org.csr e2fsck.org.key e2fsck.org_nopass.key
第二步 去 startssl 申请免费证书
1. 登录官方网站 http://www.startssl.com/?app=0
2. 选择 control panel(右上角) 然后选择 express lane(最下面的大图标)
3. 填写注册信息(尽量真实,不然难通过),然后就去邮件等,是 2 封邮件,第二封邮件带一个地址,登录即可
4. 进去后,做 下一步 之类的简单事情后,选择 certificates wizard
5. certificate target: 这里选择 web server ssl/tls certificate
6. 这里选择 skip 因为 第一步 的时候配置好了
7. 这里把 第一步 中的 e2fsck.org.csr 内容粘贴到这里
8. 然后就是下一步,添加域名什么的简单的事情
9. 最后看到一段代码就是 crt 证书了,保存下来,我这里取名为 e2fsck.org.crt 然后把它放到 /usr/local/nginx/conf 目录(你放哪随便)
10. 为了使部分浏览器能够识别证书,还得把 ca 根证书与我们的证书和并
[root@e2fsck ~]# cd /usr/local/nginx/conf/ #我这里把证书都放在了这个目录 [root@e2fsck conf]# wget http://cert.startssl.com/certs/ca.pem [root@e2fsck conf]# wget http://cert.startssl.com/certs/sub.class1.server.ca.pem [root@e2fsck conf]# cp e2fsck.org.crt e2fsck.org.bak #先备份下 [root@e2fsck conf]# cat ca.pem sub.class1.server.ca.pem >> e2fsck.org.crt
然后编辑 e2fsck.org.crt 把里面的
—–end certificate———-begin certificate—–
分开,改成这样
—–end certificate—– —–begin certificate—–
第三步 配置 nginx.conf
主要是修改这段
然后重启 nginx (如果以前没配置过 ssl,就一定要重启, reload 没用)
第四步 测试 ssl
浏览器输入 https://www.e2fsck.org 可以看到 ssl 已经可以正常工作了
上一篇: shell脚本实现ftp上传下载文件
下一篇: Linux curl 命令详解