SSL(Secure Socket Layer),为Netscape所研发,用以保障在Internet上数据传输的安全,利用数据加密(Encryption)技术,可确保数据在网络上的传输过程中不会被截取及窃听。一般通用的规格为40 bit的安全标准,美国则已推出128 bit的更高安全标准,但限制出境。只要3.0版本以上的I.E.或Netscape浏览器即可支持SSL。
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
通俗来讲,不使用SSL协议就不安全,如果简单的进行文件传输,当访问者输入账号密码给服务器后一切都是明文显示的,如果这时候有人抓包就可以看到文件的内容,使用SSL协议将数据加密,即使被抓包了也看不到文件的具体内容,极大提高的了安全性,尤其是涉及金钱交易的网站.
生成私钥与证书
按照步骤即可,完了之后可以得到cert.key和cert.pem
[root@proxy ~]# cd /usr/local/nginx/conf #进入到目录下生成证书秘钥
[root@proxy conf]# openssl genrsa > cert.key #生成私钥,文件名必须与配置文件内相同
[root@proxy conf]# openssl req -new -x509 -key cert.key > cert.pem #生成证书,需要输入信息
Country Name (2 letter code) [XX]: china #国家
State or Province Name (full name) []:hunan #省份
Locality Name (eg, city) [Default City]:changsha #城市
Organization Name (eg, company) [Default Company Ltd]:xxx #公司名
Organizational Unit Name (eg, section) []:xxx #单位名
Common Name (eg, your name or your server's hostname) []:主机名 #主机名hostname查看
Email Address []:xx@xx.com #邮箱