Nginx https 免费SSL证书配置指南[Linux安全]
本文“Nginx https 免费SSL证书配置指南[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
请参考 Nginx Wiki http://wiki.nginx.org/NginxHttpSslModule
生成证书
$ cd /usr/local/nginx/conf
$ openssl genrsa -des3 -out server.key 1024
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
编辑 nginx.conf
server {
server_name YOUR_DOMAINNAME_HERE;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/server.crt;
ssl_certificate_key /usr/local/nginx/conf/server.key;
}
OK, 完成了.但这样证书是不被信任的,自己玩玩还行,要被信任请看下面.
以下内容转载自
http://goo.gl/YOb5
http://goo.gl/Gftj
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全底子是SSL,因此加密的具体内容 请看SSL.
它是一个URI scheme(抽象标识符体系),句法类同http:体系.用于安全的HTTP数据传输.https:URL表明它利用了HTTP,但HTTPS存在差别 于HTTP的默许端口及一个加密/身份考证层(在HTTP与TCP之间).这个系统的最初研发由网景公司举行,供应了身份考证与加密通讯办法,目前它被广 泛用于万维网上安全敏感的通讯,比方交易支付方面.
1、自行颁布不受浏览器信任的SSL证书:
HTTPS的SSL证书可以自行颁布,Linux下的颁布步骤以下:
openssl genrsa -des3 -out api.bz.key 1024
openssl req -new -key api.bz.key -out api.bz.csr
openssl rsa -in api.bz.key -out api.bz_nopass.key
nginx.conf 的SSL证书配置,利用 api.bz_nopass.key,在启动Nginx是无需输入SSL证书密码,而利用 api.bz.key 则需求输入密码:
server {
server_name sms.api.bz;
listen 443;
index index.html index.htm index.php;
root /data0/htdocs/api.bz;
ssl on;
ssl_certificate api.bz.crt;
ssl_certificate_key api.bz_nopass.key;
......
}
自行颁布的SSL证书固然可以实现加密传输功效,但得不到浏览器的信任,会呈现以下提醒:
2、受浏览器信任的StartSSL免费SSL证书:
跟VeriSign一样,StartSSL(网址:http://www.startssl.com,公司名:StartCom)也是一家CA机构,它的根证书很 久之前就被一些具有开源后台的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等).
在本年9月 份,StartSSL竟然搞定了微软:微软在进级补钉中,更新了通过Windows根证书认证程序(Windows Root Certificate Program)的厂商清单,并初次将StartCom公司列入了该认证清单,这是微软初次将供应免费数字考证技术的厂商加入根证书认证列表中.目前,在 Windows 7或安装了进级补钉的Windows Vista或Windows XP操作系统中,系统会完好信任由StartCom这类免费数字认证机构认证的数字证书,从而使StartSSL也得到了IE浏览器的支持.
注册成为StartSSL(http://www.startssl.com) 用户,并通过邮件考证后,便可以申请免费的可托任的SSL证书了.步骤对比复杂,就不具体介绍了,申请向导的主要步骤以下:
startssl在9月微软补钉更新中被支持,使得startssl证书得到承认.
申请流程以下 startssl.com
请不要利用chrome和IE8,不然将无法生成KEY而无法申请成功.倡议利用firefox.
此外我还赶上了点不测,我利用的移动的网络被误判为澳大利亚的IP并收到邮件要求注释.
我将APNIC的查询地址和查询后果发送给对方后帐户才申请成功.
control panel / sign-up 注意填写精确资料.收到邮件后复制考证码.然后可以生成一个证书,注意,startssl.com不是以用户名、密码来考证用户的,是用证书来考证用户 的.
所以生成证书后(火狐会导入证书),注意备份证书.丧失证书后只能重新注册.
登录后还要考证域名才能为该域名生成SSL证书,可以挑选在whois里的邮箱、hostmaster@domain、 postmaster@domain大概webmaster@domain
然后便可以在Certificates wizard里便可以申请SSL证书了.
有效期一年.
======2009/11/26 update===========
Toolbox
把你申请时的private key拿去Decrypt private key,然后把生成的key保存起来.
然后在Retieve certificate里挑选你申请的域名,便可以得到cer文件,保存起来,放到nginx的conf目录.
在nginx里这样配置
server {
server_name security.meettea.com;
listen 443;
index index.html index.htm index.php;
root /data0/htdocs/security.meettea.com;
ssl on;
ssl_certificate security.cer;
ssl_certificate_key security.key;
}
nginx -s reload下假如没有任何提醒,就阐明配置成功了.
惋惜firefox3.5测试,不信任class 1的证书.
==============2009/11/26 update===================
在startssl forum看到官方人员说firefox3.5不支持是因为没有配置好.经过配置办理了firefox 3.5不信任该证书的问题,ubuntu studio下测试通过.
步骤是:获得https://www.startssl.com/certs/ca.pem
获得https://www.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt
cat ca-certs.crt >> security.cer
这是因为需求把startssl的根证书和sub class1的证书附上,因为是他们把证书颁布给你,firefox需求这张证书才熟习你的证书. :)
此外opera测试没通过,这点,连startssl.com自己都没有被opera通过.
以上是“Nginx https 免费SSL证书配置指南[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |