让apache支持ssl

apache 支持ssl
 
环境:
redhat9
apache2.0.54
 
apache 的编译参数
./configure --prefix=/usr/local/apache2 --with-layout=apache --enable-module=so --enable-module=setenvif --enable-module=rewrite --with-mpm=prefork --enable-ssl
 
查看 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
  mod_ssl.c
  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
 
查看那系统是否安装了openssl
[root@server1 conf]# rpm -qa|grep openssl
openssl-0.9.7a-2
openssl-devel-0.9.7a-2
 
生成证书文件
创建一个 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.*
 
查看虚拟主机设置
[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 来访问了

你可能感兴趣的:(apache,ssl,职场,OpenSSL,休闲)