• 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。搞掂!!!


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

  • 相关阅读:
    使用vue-cli创建项目(包含npm和cnpm的安装nodejs的安装)
    关于时区、时间戳引起的bug理解
    设置java、maven环境变量(怕麻烦以后直接来这里复制)
    回去看
    dockerfile各种命令解析
    Python+Appium环境搭建
    Python Selenium unittest+HTMLTestRunner实现 自动化测试及发送测试报告邮件
    Python Selenium 文件下载
    Python Selenium 文件上传之Autoit
    Python Selenium 文件上传之SendKeys
  • 原文地址:https://www.cnblogs.com/adtuu/p/5172153.html
Copyright © 2020-2023  润新知