<b>让apache</b><b>支持ssl</b>
<b>环境:</b>
redhat9
apache2.0.54
<b>apache</b><b>的编译参数</b>
./configure --prefix=/usr/local/apache2 --with-layout=apache --enable-module=so --enable-module=setenvif --enable-module=rewrite --with-mpm=prefork <b>--enable-ssl</b>
查看apache编译进的模块
[root@server1 apache2]# bin/httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
<b> mod_ssl.c</b>
prefork.c
http_core.c
mod_mime.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
<b>查看那系统是否安装了openssl</b>
[root@server1 conf]# rpm -qa|grep openssl
openssl-0.9.7a-2
openssl-devel-0.9.7a-2
<b>生成证书文件</b>
创建一个rsa私钥,文件名为server.key
[root@server1 php-5.0.4]# openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
............++++++
e is 65537 (0x10001)
用 server.key 生成证书签署请求 CSR
#openssl req -new -key server.key -out server.csr
Country Name:两个字母的国家代号
State or Province Name:省份名称
Locality Name:城市名称
Organization Name:公司名称
Organizational Unit Name:部门名称
Common Name:你的姓名
Email Address:地址
至于 'extra' attributes 不用输入
生成 server.csr 文件,并放在安全的地方。
生成证书CRT文件server.crt。
openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt
将它们copy到apache的conf目录下
为了安全起见,将它们的权限进行修改
chmod 400 server.*
<b>查看虚拟主机设置</b>
[root@server1 conf]# ../bin/apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 dummy-host.example.com (/usr/local/apache22/conf/extra/httpd-vhosts.conf:27)
*:81 dummy-host2.example.com (/usr/local/apache22/conf/extra/httpd-vhosts.conf:36)
_default_:443 [url]www.example.com[/url] (/usr/local/apache22/conf/extra/httpd-ssl.conf:74)
Syntax OK
重启apache
查看443端口是否被监听netstat -an|grep 443
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN
客户端就能使用https来访问了
本文转自yahoon 51CTO博客,原文链接:http://blog.51cto.com/yahoon/37090,如需转载请自行联系原作者