windows下apache配置ssl(https)服务器

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

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

  

上一篇:less 命令(转)


下一篇:linux下登录出现-bash-3.2#解决办法