windows下apache配置https
1、下载带有openSSL的apache安装包,我下载的为apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安装后确认一下bin路径下的openssl.exe,ssleay32.dll和libeay32.dll,无误进行下一步。
2、修改两个配置文件,一个为conf/httpd.conf,另一个为conf/extra/httpd-ssl.conf
(a)修改httpd.conf
为了使apache启动的时候调用ssl的服务,我们需要在配置文件中做一些修改。找到以下两句话并去掉注释,则可以开启apache的时候启动ssl服务:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-mpm.conf
(b)修改httpd-ssl.conf
修改的主要是我们生成的证书的路径(我把路径设置为conf下的key目录,把生成的证书放进这个目录,接下来会说怎么生成)
SSLCertificateFile xxx/conf/key/server.crt (服务器证书的位置)
SSLCertificateKeyFile xxx/conf/key/server.key (服务器私钥的位置)
SSLCACertificateFile xxx/key/conf/ca.crt (CA根证书的位置,进行客户端验证时需要)
#SSLVerifyClient require (去掉前面的‘#’号,进行客户端验证时需要)
#SSLVerifyDepth 1 (去掉前面的‘#’号,把10改为1,进行客户端验证时需要)
打开httpd-ssl.conf,ctrl+f 搜关键字修改就可以了。
3、生成服务端和客户端的证书
win+R:cmd进入命令行,进去apache安装目录的bin文件夹,执行命令设置一下openssl的配置:
setOPENSSL_CONF=..\conf\openssl.cnf
(a)生成服务端的私匙
执行命令:openssl gensa -out server.key 1024,在目录bin下生成server.key文件
(b)生成签署申请
执行命令:openssl req -new -out server.csr -key server.key -conf..\conf\openssl.cnf,在目录bin下生成server.csr文件,这个过程中要填入一些信息,按照提示要求填就可以了,但是要记住Common Name必须和httpd.conf中的serverName一致,不然apache启动的时候会报错。
(c)生成CA私匙
执行命令:openssl gensa -out ca.key 1024,在目录bin下生成ca.key文件
(d)生成CA生成自签署证书
执行命令:openssl req -new -x509 -days 365 -key ca.key -out ca.crt -conf..\conf\openssl.cnf,在目录bin下生成ca.crt文件
(e)生成CA的服务器签署证书
执行命令:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -conf..\conf\openssl.cnf 我在这里报错了,按照网上的说法,在当前目录下建立一个demoCA目录,在里面创建一个index.txt空文件,一个名为serial,内容为01的文件,以及一个文件夹newcerts,再执行一次就可以了
4、把当前文件夹中的server.crt,server.key和ca.crt文件复制到步骤2所说的目录conf/key下
5、为了方便,我把httpd.conf和httpd-ssl.conf文件中的ServerName分别改为
127.0.0.1:8080 (有些软件会占用80这个端口,所以改成8080)
127.0.0.1:443
6、重启apache,执行两个命令net stop Apache2.2和net start Apache2.2,假如遇到apache无法启动的时候,可以选我的电脑-》管理-》事件检查器-》应用程序日志,打开apache的错误报告,会有提示哪里出错了,一般都可以找到原因。
7、打开IE,输入127.0.0.1:8080出现It works。输入https://127.0.0.1:443的时候会弹出一个验证证书的地方,点击取消发现没能成功。上网查了一下,原来还要生成一个 .pfx 的证书并导入到IE中去。
打开刚才的命令行,执行命令openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx,在bin下面生成一个ca.pfx的文件,中间有个输入密码的过程,要记住这个密码。打开IE浏览器-》工具-》Internet选项-》内容-》证书,按照提示导入,这里要输入刚才生成 .pfx 过程中输入的密码。导入之后,打开浏览器输入https://127.0.0.1:443出现 It works。搞掂!!!
(注:本文为我在搭建环境中的大概过程,纯粹记录一下工作过程,并不深入理解各个点)
windows下apache配置https的更多相关文章
- Linux下Apache配置HTTPS功能
Apache配置HTTPS功能 转 https://www.cnblogs.com/liaojiafa/p/6028816.html 一.yum 安装openssl和openssl-devel,ht ...
- windows下apache配置ssl(https)服务器
SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全, 可以通过apache自带的openssl进行配置: 步骤如下: 1.安装有openssl模板的apache ...
- windows下apache安装 https配置。
https://blog.csdn.net/jhope/article/details/78596066?utm_source=blogxgwz2 https://blog.csdn.net/tdcq ...
- windows下Apache配置SSL安全连接
什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...
- windows下apache配置虚拟主机
因为有多个laravel项目需要配置根目录到public下面,所以要配置多个虚拟主机 方法一:添加端口号 第一步:进入apache的目录 Apache24\conf 找到 httpd.conf 文件, ...
- Windows下Apache配置域名
1.打开httpd.conf 找到“Include conf/extra/httpd-vhosts.conf”这一行,取消前面的#号注释并保存 2.修改httpd-vhosts.conf文件 进入ap ...
- windows下Apache配置多个站点
1. httpd.conf 找到以下两行去掉注释: # Include conf/extra/httpd-vhosts.conf # LoadModule vhost_alias_module mod ...
- Windows下Apache配置多域名项目
<VirtualHost www.a.com:80> DocumentRoot "C:\object\a\web" ServerName http://www.a.co ...
- apache 配置https(转)
主要讲述在windows下apache配置SSL以实现http转换为https SSL: SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.也就是说在SSL下 ...
随机推荐
- TCP/IP协议原理与应用笔记21:路由选择的方法
1. 路由选择的方法 (1)基本思想 不是收到IP分组后才能为其选路,而是预先获得所有的目的的路由(Routing Protocol) IP报文按预定的路由转发(route table) (2)预定路 ...
- 【阿里云产品公测】弹性伸缩服务ESS之试用初体验
弹性伸缩服务ESS之试用初体验 作者:云郎 2014/10/15 阿里云弹性伸缩服务(Elastic Scaling Service)是根据用户的业务需求和策略,自动调整其弹性计算服务器(ECS)的管 ...
- oracle日志总结
①. Oracle日志分类: Alert log files--警报日志 , redo log 重做日志(记录数据库的更改,Trace files--跟踪日志(用户和进程) Oracle的重做日志(r ...
- Java实现深克隆的两种方式
序列化和依次克隆各个可变的引用类型都可以实现深克隆,但是序列化的效率并不理想 下面是两种实现深克隆的实例,并且测试类对两种方法进行了对比: 1.重写clone方法使用父类中的clone()方法实现深克 ...
- Ralink RT3290无线网卡驱动安装 (linux)
Ralink RT3290无线网卡驱动安装 (linux, 笔记备忘) 1. 设备信息查看无线网卡设备信息 # lspci : 2. 驱动下载http://pan.baidu.com/s/1sjsHN ...
- jQuery formValidator表单验证插件
什么是jQuery formValidator? jQuery formValidator表单验证插件是客户端表单验证插件. 在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人 ...
- CentOS 7.0启用iptables防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...
- 实例--post请求,完成一个抽奖程序概率的测试
一个web项目测试,测试抽奖概率的正确性,写了一个小代码,验证概率 post和get请求的一个工具类 package kankan_interface; import java.io.IOExcept ...
- Matlab之cell使用
1.声明 (1) DataCell = cell(1,N);(2) DataCell{N} = []; 如何赋值呢? a{1,1}=rand(5) 那么a的1行1列的单元中存储的就是一个随机的5×5的 ...
- winform分页管理
注意:其中可能用到部分自定义的扩展方法,在使用中需自己修改一下 /// <summary> /// 分页管理 /// </summary> public class Pagin ...