<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,如需轉載請自行聯系原作者