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下 ...
随机推荐
- [Java] Eclipse+Spring学习(一)环境搭建
转自:http://blog.sina.com.cn/s/blog_7c3736810100qhia.html 最近由于投了一家公司实习,他要java工程师,而我大学3年的精力都花到了ASP.NET和 ...
- 沈逸老师PHP魔鬼特训笔记(8)
创建模板文件: 这节课老师带领我们开始创建TEMPLATE,按照老师教导的思路,我们希望这样一种代码写法:1.譬如我定义一个变量$name=‘’;2.然后呢我读取一个模板.3.再然后我在这个模板里 设 ...
- android 使用<merge>标签
<merge /> 标签在你嵌套 Layout 时取消了 UI 层级中冗余的 ViewGroup .比如,如果你有一个 Layout 是一个竖直方向的 LinearLayout,其中包含两 ...
- emoji表情符处理替换成空格
/** * 用filterOffUtf8Mb4 * Description: 过滤率四个字节的utf-8字符(emoji表情符),替换成四个空格. * 四字节utf- ...
- sift算法中翻译的第11页中比值问题
没下载下来... http://download.csdn.net/detail/shwaicy1314/7320695 原文翻译.应该是 2004年lowe写的吧 第八页 图C展示的 是小于0.03 ...
- B-tree解释
1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用. 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树:⑵若根结点不是叶子结点,则至少 ...
- My Linux API
@图形界面与命令行界面切换 Linux预设提供了六个命令窗口终端机让我们来登录.默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + ...
- GSS5 spoj 2916. Can you answer these queries V 线段树
gss5 Can you answer these queries V 给出数列a1...an,询问时给出: Query(x1,y1,x2,y2) = Max { A[i]+A[i+1]+...+A[ ...
- js验证连续两位数字递增或递减和连续三位数字相同
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- JavaScript--变量、作用域及内存(12)
// JS变量是松散型的(不强制类型)本质,决定了它只是在特定时间用于保存特定值的一个名字而已; // 由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内 ...