linux下ssl配置说明

网上有很多相关的资料,但是真正自己配置以后才知道网上的做法很多是不完善的!下面自己总结简明的方法!

\\欢迎你转载,但是请留下作者名字

首先需要介绍一下SSL是什么?记得以前学习电子商务的时候,老师讲了N次什么是安全,什么是安全传输,什么是套接字!我靠,现在想起来真实纯理论!哈哈
下面我举个例子来说明:我们打开华大的邮局http://hqu.edu.cn,输入你的用户名和密码,然后点击提交!注意:接下来发生的事情是什么?
接下来就是你的浏览器把你的用户名和密码发送给服务器!好问题来了!
你的浏览器是怎么把密码发送给服务器的?你有想过这个问题吗?记得以前墩辉老师给我讲过用JAVASCRIPT在客户段加密后传输,这是方法之一,但是跟我们要做的SSL其实原理已经很类似了!

好了,扯远了!通常浏览器是直接打包你的用户名和密码提交给服务器,也就是是说你输入的密码在网络上传输的时候是明文传递的,我要是截获这些数据报,从理论上说我就可以破解你的密码!这一般是高手做的事情!

现在我们为了安装就需要用到SSL作为安全传输的协议!在浏览器加密后传输给服务器!这样你输入的密码安全性是不是就提高了呢?

怎么样?能达到教授水平吗?哈哈

SSL需要有一个根证书,所有的证书都是从根证书派生出来的,比如服务器证书就是根据根证书生成的!

好了!理论讲完了!下面说安装!

软件列表
1.httpd-x.tar.gz
2.openssl-x.tar.gz
3.ssl.ca-x.tar.gz
x表示版本了,你不会不了解吧?

先安装openssl
以root身份登陆到终端

#tar zxvf openssl-x.tar.gz
#cd openssl-x
#./config
#make
#make install

默认的安装是将openssl全部安装在 /usr/local/ssl 目录下面,所以编译apache的时候,需要指定ssl的目录:--with-ssl=/usr/local/ssl ,因为它在编译的时候要用到openssl提供的头文件和库。

第二:安装apache
#tar zxvf httpd-x.tar.gz 
#./configure --prefix=/usr/local/apache2 --enable-so 
--enable-ssl=static --with-ssl=/usr/local/ssl --enable-mods-shared=all
#make 
#make install
安装的openssl默认是没有编译成动态链接库的,因为其文档说openssl的动态链接库还不成熟,可以使用 ./config shared 编译带动态链接库的openssl,但是还处于试验阶段。
解决这个问题的办法是:将mod_ssl静态的编译到apache里面。

第三:生成证书:
#tar zxvf ssl.ca-x.tar.gz
#cd ssl.ca-x
#./new-root-ca.sh (生成根证书)
这样就生成了ca.key和ca.crt两个文件,下面还要为我们的服务器生成一个证书:
# ./new-server-cert.sh server (这个证书的名字是server)
这样就生成了server.csr和server.key这两个文件。
还需要签署一下才能使用的:
# ./sign-server-cert.sh server


好!安装完成!下面说配置

先修改httpd.conf
# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
#
把#去掉,把文件包含进来!
接着看!

配置文件地址是:conf/extra/httpd-ssl.conf文件,简要说明如下:
Listen 443   //监听端口,请不要更改!
DocumentRoot "/var/www/html"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog /usr/local/apache2/logs/error_log

posted on 2013-07-01 18:41  Nickleback  阅读(217)  评论(0)    收藏  举报