LAMP、linux Apache上部署SSL服务器证书及相关概念

其实早就想搞https了,去年也弄过一次,没啥叼用就停了。

去年申请的是StartSSL,这货竟然不被火狐和谷歌浏览器信任了。还有沃通,也不要用了。阿西吧,好吧得重新申请。

Firefox 浏览器背后的 Mozilla 基金会正在考虑对沃通(WoSign)及被其秘密收购的 StartCom(著名的 StartSSL 即其旗下产品)这两个 CA 一年内新签发的所有 SSL 证书进行封杀。Mozilla 的工程师是在对这两个 CA 签发了一系列可疑的 SSL SHA-1 证书进行调查之后,宣布了这个禁令。

LAMP、linux Apache上部署SSL服务器证书及相关概念

什么是 SSL 证书?

SSL 证书就是遵守 SSL 安全套接层协议的服务器数字证书。而 SSL 安全协议最初是由美国网景 Netscape Communication 公司设计开发的,全称为:安全套接层协议 (Secure Sockets Layer) , 它指定了在应用程序协议(如 HTTP、Telnet、FTP)和 TCP/IP 之间提供数据安全性 分层的机制,它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。由于此协议很 好地解决了互联网明文传输的不安全问题,很快得到了业界的支持,并已经成为国际标准。SSL 证书由浏览器中“受信任的根证书颁发机构”在验证服务器身份后颁发,具有网站身份 验证和加密传输双重功能。

SSL证书系列EV,OV,DV的区别

1、 EV SSL 证书,扩展验证型SSL(Extended Validation SSL),适合银行金融类电子商务网站(网上购物)使用,证书里显示单位名称,显示绿色地址栏。
2、OV SSL 证书,机构验证型SSL(Organization Validation SSL),适合电子商务、电子政务网站、企事业单位管理系统、电子邮件系统使用。
3、 DV SSL 证书,域名验证型SSL(Domain Validation SSL),不显示任何信息,是最基础级的SSL 证书。

个人玩玩的话DV就够了。 补充:沃通里边还有个IV SSL 证书,个人验证型(IdentityValidation SSL),适用于个人专业网站使用,显示个人姓名。

 免费SSL证书

当然你有钱就去买收费的,服务和质量也好。

腾讯云SSL证书管理(赛门铁克TrustAsia DV SSL证书)
阿里云云盾证书服务(赛门铁克DV SSL证书)
百度云SSL证书服务
Let’s Encrypt

国内BAT免费证书期限均为1年,每个证书对应一个独立的域名(http://xx.abc.com),可以申请多个证书,前提是需要注册账号。
Let’s Encrypt免费证书期限均为3个月,证书支持泛域名(支持多个域名)。

制作CSR文件

证书请求文件(CSR,Cerificate Signing Request),CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心。在生成CSR文件时会同时生成私钥文件,请妥善保管和备份您的私钥。

可以自己生成也可以在线生成,当然腾讯云和阿里云免费证书在线填好信息就不用自己制作了

自己生成参考阿里云:http://help.aliyun.com/knowledge_detail/42218.html

在线生成:http://www.chinassl.net/ssltools/generator-csr.html

Apache配置SSL

下文是在centos上的操作,另外nginx大同小异。

1、安装 SSL/TLS module模块支持

# yum install -y mod_ssl

安装完毕后,会自动生成 /etc/httpd/conf.d/ssl.conf 文件,下文配置会用到!

关于mod_ssl:

Name : mod_ssl
Arch : x86_64
Summary : SSL/TLS module for the Apache HTTP Server
License : ASL 2.0
Description : The mod_ssl module provides strong cryptography for the Apache Web
: server via the Secure Sockets Layer (SSL) and Transport Layer
: Security (TLS) protocols.

2、修改SSL配置文件,apache的

设计到的三个文件概念:

SSLCertificateFile  公钥文件,服务器证书,CA机构签完给你的网站的证书

SSLCertificateKeyFile  你自己生成的私钥文件

SSLCertificateChainFile  证书链,CA机构给你

(关于证书链请参见:http://blog.csdn.net/trendgrucee/article/details/8772177)

不同点:nginx会把公钥与证书链写在一个证书文件里边,apache是分开的

明白了概念开搞!

# vim /etc/httpd/conf.d/ssl.conf   只改动需要改动的地方

配虚拟站点,不会配虚拟站点的参见>> Apache虚拟主机及wordpress伪静态重写配置

格式不一定是crt,也有pem格式。

其他的一般默认就行。

3、重新载入配置文件

#service httpd reload

防火墙443端口放行

#iptables -A INPUT -p tcp –dport 443 -j ACCEPT

然后测试一下吧。

强制http跳转https

编辑httpd配置文件

<VirtualHost *:80>
ServerName zerlong.com
Redirect permanent / http://zerlong.com/
</VirtualHost>

重启Apache服务器,使配置生效:

# service httpd restart

备份服务器证书

备份服务器证书私钥文件,服务器证书文件,以及证书链文件。


补充:

自签名证书被推荐用于测试目的和个人项目。自签名证书,也可以用于服务提供商,不过一般适用于用户互相信任的情形。另外,自签名证书不用花钱购买。自签名的证书可以用来加密,但是不适合认证。用户一般不会信任这些商业用途的自签名证书,另外浏览器对这些自签名证书会进行告警。

 

文章参考:

http://blog.csdn.net/ithomer/article/details/50433363

http://blog.csdn.net/trendgrucee/article/details/8772177 证书链以及自签名证书

转载请注明原作者,如果你觉得文章对你有帮助或启发,也可以来请我喝咖啡

点赞