在apache中配置ssl的方法

本文主要实现在apache环境中,实现https的访问。
测试原因,在window环境下,使用apache2.2.8最新版本,集成openssl,下载地址:http://www.apache.org/dist/httpd/binaries/win32/apache_2.2.8-win32-x86-openssl-0.9.8g.msi
本文难易度为容易

1.首先安装apache,需要使得测试用url:www.test.com:443可以访问,此时没有加密,但是443端口可以访问。
    在http.conf上面修改
    ServerName www.test.com
    Listen 443 (监听SSL 端口)
    Listen 80 (标准web端口)
    在hosts文件中添加www.test.com到本地ip
    如果本地有代理服务,还需要修改ip选项,不通过代理访问。
   
2.因为下载了包含openssl的apache版本,所以不需要单独再下载openssl,下载openssl.conf
http://www.securityfocus.com/data/tools/openssl.conf
需要是window环境,需要建立c:/usr/local/ssl放入下载的openssl.conf,改为openssl.cnf

3.在apache bin目录下 执行
openssl req -new -out server.csr
建立一个证书请求和一个私钥,当系统提示Common Name,需要填入精确web服务器名称,(e.g www.test.com),如果不符合,会报错。
openssl rsa -in privkey.pem -out server.key
这个语句从私钥移除 passphrase。 server.key 只能被 apache 和 administrator管理。删除 .rnd 文件,它可能被利用来攻击私钥。
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
这个语句建立自签名的证书,你可以使用这个直到你从权威机构得到了一个 真实证书。你可以扩大 -days 365 的参数,以避免一年以后过期。
把生成的server.crt,server.key放入C:/usr/local/ssl/

4.

定位LoadModule指令在 httpd.conf 文件的位置。找到下列指令:
#LoadModule ssl_module modules/mod_ssl.so,去掉#

在httpd.conf中添加
<VirtualHost www.test.com:443>
SSLEngine On
SSLCertificateFile C:/usr/local/ssl/server.crt
SSLCertificateKeyFile C:/usr/local/ssl/server.key
</VirtualHost>

重新启动apache,如果不能启动,看看密钥和证书的目录是否正确。
启动起来后,就可以通过,
https://www.test.com来访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值