zoukankan      html  css  js  c++  java
  • 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=..confopenssl.cnf

     

    (a)生成服务端的私匙

    执行命令:openssl gensa -out server.key 1024,在目录bin下生成server.key文件

    (b)生成签署申请
    执行命令:openssl req -new -out server.csr -key server.key -conf..confopenssl.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..confopenssl.cnf,在目录bin下生成ca.crt文件

    (e)生成CA的服务器签署证书
    执行命令:openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -conf..confopenssl.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.2net 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。搞掂!!!


    (注:本文为我在搭建环境中的大概过程,纯粹记录一下工作过程,并不深入理解各个点)

  • 相关阅读:
    leetcode33. Search in Rotated Sorted Array
    pycharm 设置sublime text3 monokai主题
    django class Meta
    leetcode30, Substring With Concatenation Of All Words
    Sublime text3修改tab键为缩进为四个空格,
    sublime text3 python打开图像的问题
    安装上imesupport输入法依然不跟随的解决办法,
    sublime text3 的插件冲突弃用问题,
    sublime text3 BracketHighlighter括号匹配的设置
    windows 下wget的使用
  • 原文地址:https://www.cnblogs.com/adtuu/p/5172153.html
Copyright © 2011-2022 走看看