如果单纯只想在传输数据时加密传输,那么ssl证书是不需要认证的,但是浏览器打开时会有警告信息。假设我们做的不是一个公众产品那么也还好啦。
如下是今天学习时的一个笔记,其实我用的是真实环境。
环境:CentOS 64, 32bit;Apache 2.2.15;
1.检查apache是否安装了mod_ssl.so模块。
检查方法是查看是否在modules(/etc/httpd/modules/)下存在。不存在那么安装(yum -y install mod_ssl)。
2.生成证书和密钥
1)生成密钥
命令:openssl genrsa 1024 > server.key
说明:用128位rsa算法生成密钥,得到server.key文件。
2) 生成证书请求文件
命令:openssl req -new -key server.key > server.csr
说明:用步骤1生成的密钥生成证书请求文件server.csr,这一步会有很多问题,按照自己的需要输入即可。
3): 生成证书
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:用步骤1,2的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天。
3.修改apache配置文件(httpd.conf)
1)添加监听端口
Listen 443
2)加载mod_ssl模块
LoadModule ssl_module modules/mod_ssl.so
3)配置虚拟主机
[plain] view plaincopy
代码复制
NameVirtualHost 121.127.246.429:443
DocumentRoot /data/www/1234567
ServerName 1234567.mo.com
SSLEngine On
SSLOptions +StrictRequire
SSLCertificateFile /data/conf/httpd/server.crt
SSLCertificateKeyFile /data/conf/httpd/server.key
DirectoryIndex index.html index.php
#Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
__________________