SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全, 可以通过apache自带的openssl进行配置:

步骤如下:

1.安装有openssl模板的apache,大多数都会有,判断有没有 只需要查看 apache\bin 下有没有 openssl.exe 运行程序;

2.配置 apache/conf/httpd.conf 文件,如下:

  #LoadModule ssl_module modules/mod_ssl.so

  #Include conf/extra/httpd-ssl.conf

  去除这两行前的#

3.配置 apache/conf/extra/httpd-ssl.conf 文件,如下:

  SSLCertificateFile "conf/ssl.crt/server.crt" (服务器证书的位置)

  SSLCertificateKeyFile "conf/ssl.key/server.key" (服务器私钥的位置)

  #SSLCACertificateFile "c:/Apache24/conf/ssl.crt/ca-bundle.crt" (CA根证书的位置,进行客户端验证时需要)

  #SSLVerifyClient require (去掉前面的‘#’号,进行客户端验证时需要)

  #SSLVerifyDepth  10 (去掉前面的‘#’号,把10改为1,进行客户端验证时需要)

4.生成服务器的私钥

  打开cmd命令行 进入apache/bin目录 执行 openssl genrsa -out server.key 1024 命令 在当前bin目录下生成一个 server.key 私钥文件

5.生成签署申请

  在当前目录命令行下继续执行 openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 server.csr 签署文件

  该过程将填入签署文件信息 如国家 省份 城市地区 机构组织等 值得注意的一点是:Common Name 信息必须要和是网站域名或是IP地址与httpd.conf中的serverName一致。

6.生成CA私匙文件

  在当前目录命令行下继续执行 openssl genrsa -out ca.key 1024 命令 在当前bin目录下生成一个 ca.key 私钥文件

7.利用CA的私钥产生CA的自签署证书

  在当前目录命令行下继续执行 openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 ca.crt 自签署证书

  该过程将填入签署文件信息 如国家 省份 城市地区 机构组织等 值得注意的一点是:Common Name 信息必须要和是网站域名或是IP地址与httpd.conf中的serverName一致。(与步骤5一致)

8.CA为网站服务器签署证书

  在当前目录命令行下继续执行openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 server.crt 签署证书文件

   这里执行命令时会报错,解决方法在当前文件夹下(bin目录)创建 demoCA 文件夹, 在其中创建2个文件和1个文件夹: index.txt 空文件  内容为01的无后缀名serial文件 和 newcert文件夹 即可,重新运行命令便不会有错了

9.移动文件

  将生成的 server.crt,server.key,ca.crt 文件复制到 步骤3中所配置的文件夹中

10.配置httpd.conf和httpd-ssl.conf文件中的ServerName的访问域名 或 IP地址, 重启apache服务

  

11.打开IE,输入https://域名或IP地址:443的时候会弹出一个验证证书的地方点击取消发现没能成功,原来还要生成一个 .pfx 的证书并导入到IE中去。

  在当前目录命令行下继续执行  openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx 在bin下面生成一个ca.pfx的文件,中间有个输入密码的过程,要记住这个密码。打开IE浏览器-》工具-》Internet选项-》内容-》证书,按照提示导入,这里要输入刚才生成 .pfx 过程中输入的密码。

  以上内容借鉴 http://blog.csdn.net/decajes/article/details/41706739

         http://www.jb51.net/article/23971.htm

  本人菜鸟 有些地方不对请大神指出!

  

windows下apache配置ssl(https)服务器的更多相关文章

  1. windows下Apache配置SSL安全连接

    什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...

  2. windows 下nginx配置ssl https支持

    本文适合正式上线的配置,购买来的证书 私钥*.key文件需要先去掉密码 openssl rsa -in old.key -out new.key

  3. Windows下Nginx配置SSL实现Https访问(包含证书生成)

    Vincent.李   Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...

  4. Windows下Apache添加SSL模块

    参考资料:http://www.yuansir-web.com/2011/05/12/hello-world/测试环境:windows2003 32位 + Apache2.4 + PHP5.4 一.准 ...

  5. phpstudy集成下Apache配置部署https安全证书

    一..先申请到安全证书.(腾讯云或者阿里云申请免费1年的安全证书),怎么申请这里也说下(以腾讯云为例): 1.登录腾讯云QQ或微信登录都行,第一次登录要通过实名认证,点击[产品]---[ss证书l] ...

  6. Windows下nginx配置多台服务器做负载均衡

    Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...

  7. 8-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(Apache 配置SSL,HTTPS连接)

    https://www.cnblogs.com/yangfengwu/p/10947423.html 和当时配置MQTT差不多,去下载证书文件   https://www.cnblogs.com/ya ...

  8. windows下apache利用SSL来配置https

    第一步打开httpd.conf文件找到以下两个变量把注释去掉. #LoadModule ssl_module modules/mod_ssl.so (去掉前面的#号) #Include conf/ex ...

  9. windows下apache配置https

    1.下载带有openSSL的apache安装包,我下载的为apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安装后确认一下bin路径下的openssl.exe,ss ...

随机推荐

  1. TabHost结合RadioButton实现主页的导航效果

    布局文件的设置,如下 <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:androi ...

  2. [Java] JavaMail 发送 html 格式、带附件的邮件

    本案例演示发送 html 格式,可带附件的邮件发送.发送纯文本邮件的例子可参照上一篇博文JavaMail 简单案例. EmailHelper, Email 的帮助类,向帮助类提供 SMTP 服务器域名 ...

  3. ubuntu忘记密码

    Do these two things just to make sure: mount -o remount,rw / This first part remounts the root parti ...

  4. MySQL用命令行复制表的方法

    mysql中用命令行复制表结构的方法主要有一下几种: 1.只复制表结构到新表 ; 或 CREATE TABLE 新表 LIKE 旧表 ; 注意上面两种方式,前一种方式是不会复制时的主键类型和自增方式是 ...

  5. Windows的应用管理工具 PortableApps,Chocolatey和Ninite

    以前为了让我的firefox变成portable的,我使用了PortableApps,它不只是做软件的绿色版,而且也是一个软件的管理平台,可以通过它来管理软件的更新,挺方便的. 前段时间试用Scrip ...

  6. [分享]WPF 虚拟键盘

    场景:用WPF做触屏的软件难免会需要用户输入的问题,至少是简单的数字,这个时候就免不了需要键盘输入. 思路:既然是虚拟键盘,那么我的目的就是模拟键盘输入即可. 1.模拟键盘输入 模拟键盘输入?那么肯定 ...

  7. c# MongoDB插入和批量插入,插入原理

    在开发之前,选择MongoDb驱动是件很重要的事情.如果选择不好,在后期的开发的是件很费力的事情,因为我就遇到这样的问题.MongoDb驱动有几种比较流行驱动,官方驱动和samus是两种使用比较多的. ...

  8. Mongodb快速入门之使用Java操作Mongodb

    [IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...

  9. java中的String.format使用

         format(String  format, Objece...  argues)函数相当于C语言中的printf函数,但是相对来说更灵活.      和C中的printf函数差不多,在fo ...

  10. [转] Javascript中数组与字典(即object)的使用

    简述: 简单记录一下数据结构字典和数组, 其实在Javascript这种弱类型的脚本语言中,数组同时也就是字典,下面主要就是字典数组的简易使用 代码: 1. 数组中添加map <!DOCTYPE ...