征服 Apache + SSL

本文详细介绍如何在Ubuntu Server 10.04上配置Apache和SSL模块,包括安装Apache、安装SSL模块、生成自签名证书及配置生效等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Tomcat下配置数字证书,搭建SSL模块,构建HTTPS平台固然必要,但是如果有多个Tomcat需要共享HTTPS服务,并需要负载均衡,这个安全加固的工作还是让Apache代劳更为合适!


[b]
相关内容:
[url=http://snowolf.iteye.com/blog/739475]征服 Apache + SSL[/url]
[url=http://snowolf.iteye.com/blog/740347]征服 Apache + SVN[/url]
[url=http://snowolf.iteye.com/blog/892001]征服 Apache + SVN + LDAP[/url]
[url=http://snowolf.iteye.com/blog/743611]征服 Apache + Tomcat[/url]
[url=http://snowolf.iteye.com/blog/1497929]征服 Nginx[/url]
[url=http://snowolf.iteye.com/blog/1539932]征服 Nginx + Tomcat[/url]
[/b]

动手,在Ubuntu上做Apache+SSL!

步骤
[list=1]
[*]安装Apache
[*]安装SSL模块
[*]生成证书
[*]配置生效
[/list]
[size=large][b]1.安装Apache[/b][/size]
这里系统选用Ubuntu Server 10.04版本,Apache选用2.2.14,OpenSSL选用0.98k。
安装Apache2
sudo apt-get install apache2 

这个就不用解释了,不明白可以查Ubuntu/Debian技术手册。

[size=large][b]2.安装SSL模块[/b][/size]
Ubuntu版Apache提供了两个命令用于配置SSL站点、模块:
sudo a2ensite default-ssl 

这个命令建立了基本ssl站点配置
也就是构建了文件[b]/etc/apache2/sites-available/default-ssl[/b]。
我们稍后需要修改这个文件,添加自己的证书!
sudo a2enmod ssl

这个命令用于配置SSL模块,完成操作后,可以在[b]/etc/ssl[/b]中,发现一些目录、文件。并且[color=red][b]/etc/ssl/private[/b]目录仅限root帐户才能查看[/color]!
[img]http://dl.iteye.com/upload/attachment/294446/f356412f-23c5-32ae-907c-ec261023dca4.jpg[/img]

[b][color=red]完成上述操作后一定要重新启动Apache![/color][/b]
sudo /etc/init.d/apache2 restart


详细内容参考[b]/usr/share/doc/apache2.2-common/README.Debian.gz[/b]

其实,这个时候你可以访问[url]https://localhost[/url],查看配置是否生效。如果你打开浏览器会提示你证书(localhost)未验证!

[size=large][b]3.生成证书[/b][/size]
这里我们需要通过OpenSSL生成证书,如果还没有OpenSSL,那就下载安装:
sudo apt-get install openssl

然后,我们切换到[b]/etc/ssl[/b]路径下,构建自签名证书:
sudo openssl req -x509 -newkey rsa:1024 -keyout private/zlex.key -out certs/zlex.pem -nodes -days 3650 -subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=www.zlex.org"

[b]req[/b]请求证书
[b]-x509[/b]签发X.509格式证书
[b]-newkey rsa:1024[/b]非对称加密算法为RSA,密钥长度为1024bits
[b]-keyout private/zlex.key[/b]私钥输出到private中,名为zlex.key
[b]-out certs/zlex.pem[/b]密钥库输出至certs中,名为zlex.pem
[b]-nodes[/b]显示详情
[b]-days 3650[/b]有效期时间,为3650天
[b]-subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=www.zlex.org"[/b]证书主题,注意CN指向主机域名,这里为‘www.zlex.org’
[img]http://dl.iteye.com/upload/attachment/294448/5d94f72b-16f0-34b9-bfc4-4b4bcd4aa177.jpg[/img]
再看看certs和private里原始的证书、密钥库,以及我们刚刚生成的证书密钥库。
[img]http://dl.iteye.com/upload/attachment/294461/7ba80ff9-8ab3-3136-bad1-bba4d7b8a620.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/294464/cd989b55-b0f5-3e1f-b4ae-2ff51d74397a.jpg[/img]

[size=large][b]4.配置生效[/b][/size]
由于这里使用www.zlex.org,这就需要通过修改[b]/etc/hosts[/b],让系统绑定www.zlex.org到本机:
sudo /etc/hosts

追加如下内容:
[quote]127.0.0.1 www.zlex.org[/quote]
然后,我们需要修改证书路径,指向刚才生成证书:
sudo vi /etc/apache2/sites-available/default-ssl

找到[b]SSLCertificateFile[/b]和[b]SSLCertificateKeyFile[/b],修改指向刚才生成的证书和密钥库:
[img]http://dl.iteye.com/upload/attachment/294532/5f7a5405-c1f0-3fa7-a779-7f503c12536a.jpg[/img]
然后,重启apache:
sudo /etc/init.d/apache2 restart

访问[url]https://www.zlex.org[/url],
[img]http://dl.iteye.com/upload/attachment/294540/981a1665-8e71-398e-b4a2-b362c70ba353.jpg[/img]
点击添加例外:
[img]http://dl.iteye.com/upload/attachment/294542/2f5c6b22-fd04-3fa7-9f00-4e617bb42bd6.jpg[/img]
然后看到如下内容:
[img]http://dl.iteye.com/upload/attachment/294548/f23b49aa-f3c1-3054-a244-2c79cd680d2b.jpg[/img]
现在再看看浏览器标识:
[img]http://dl.iteye.com/upload/attachment/294550/9dcd7de7-ba2d-3fa4-b905-37e32a2349e3.jpg[/img]
点开看看:
[img]http://dl.iteye.com/upload/attachment/294552/bae7dbde-8723-3a1a-9865-72cbfa8388cc.jpg[/img]
我们可以点击查看证书,看看庐山真面目:
[img]http://dl.iteye.com/upload/attachment/294554/2013e14d-d52b-3107-871f-4df8bec7156c.jpg[/img]
这里用的是自签名证书,所以无法验证! :D

好了,这样就可以完成简单Apache+SSL平台搭建了,当然,这仅仅是基于单向认证服务! :D
更多细节如下图红框标注,建立证书链,双向认证服务,验证深度等等:
[img]http://dl.iteye.com/upload/attachment/294757/65dcde5f-dad4-32a2-80f4-1c97a6ca2225.jpg[/img]
命令
sudo vi /etc/apache2/sites-available/default-ssl



[b]
相关内容:
[url=http://snowolf.iteye.com/blog/739475]征服 Apache + SSL[/url]
[url=http://snowolf.iteye.com/blog/740347]征服 Apache + SVN[/url]
[url=http://snowolf.iteye.com/blog/892001]征服 Apache + SVN + LDAP[/url]
[url=http://snowolf.iteye.com/blog/743611]征服 Apache + Tomcat[/url]
[url=http://snowolf.iteye.com/blog/1497929]征服 Nginx[/url]
[url=http://snowolf.iteye.com/blog/1539932]征服 Nginx + Tomcat[/url]
[/b]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值