• 配置http.conf,所在位置d:\wamp\bin\apache\apache2.4.9\conf\http.conf
 
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule sslmodule modules/modssl.so
Include conf/extra/httpd-ssl.conf
 
  • 配置http-ssl.conf,所在位置d:\wamp\bin\apache\apache2.4.9\conf\extra\http-ssl.conf
 
# 注意路径都改到wamp的目录下
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLSessionCache "shmcb:E:/wamp/logs/ssl_scache"
DocumentRoot "d:/wamp/www"
ServerName localhost:443
ErrorLog "d:/wamp/logs/apache_error.log"
TransferLog "d:/wamp/logs/access.log"
 
SSLCertificateFile "d:/wamp/bin/apache/apache2.4.9/bin/server.crt"
SSLCertificateKeyFile "d:/wamp/bin/apache/apache2.4.9/bin/server.key"
SSLCACertificateFile "d:/wamp/bin/apache/apache2.4.9/bin/ca.crt"
 
# 要求进行客户端认证,如果是双向认证,需要打开
SSLVerifyClient require        
SSLVerifyDepth  1
 
CustomLog "d:/wamp/logs/ssl_request.log"
 
  • 生成证书
# openssl程序,在wamp\bin\apache\apache2.4.9\bin目录下
 
生成私钥
openssl> genrsa -out ca.key 2048
openssl> genrsa -out server.key 2048
openssl> genrsa -out client.key 2048
 

自签署ca证书

openssl> req -x509 -new -key ca.key -out ca.crt -config ../conf/openssl.cnf -days 365
 
# 因为是根证书,这里的Common Name只填显示名称即可
 
说明:
Country Name 国家代码(只支持两位字符)
Province Name 省份
Locality Name 城市
Organization Name 公司名称
Organizational Unit Name 组织名称
Common Name (申请证书的域名或IP地址)  
Email Address 管理员邮箱  
 

服务端申请签署资料生成

 
req -new -key server.key -out server.csr -config ../conf/openssl.cnf -days 365
 
# 需注意国家、省、市这些资料,必需和根证书CA一样,不然没法用CA签证
# Common Name为当前服务器IP或域名
 
客户端申请签署资料生成
req -new -key client.key -out client.csr -config ../conf/openssl.cnf -days 365
 
建立CA自签目录
在wamp\bin\apache\apache2.4.9\bin目录下
 
mkdir -p ./demoCA/newcerts
touch ./demoCA/index.txt
echo 01 > ./demoCA/serial
echo 01 > ./demoCA/crlnumber
 
 

用ca证书给服务端签名

 
ca -in server.csr -cert ca.crt -keyfile ca.key -out server.crt  -config ../conf/openssl.cnf
 
# 注意生成之后,需要清空demoCA/index.txt里面的内容,不然给下一个签证时会报错
 
 

用ca证书给客户端签名

 
ca -in client.csr -cert ca.crt -keyfile ca.key -out client.crt  -config ../conf/openssl.cnf
 
 

生成客户端使用证书

 
pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx
 
--------------------------------------
  • 测试使用
 
 
因为证书不是机构所发,所以会提示这个
 
  • 导入CA根证书
此时访问就ok了

设置apache https服务的更多相关文章

  1. Centos6.3下搭建apache+https服务

    1. 安装插件 yum install mod_ssl openssl openssl-devel --downloadonly --downloaddir=/home/https 2.生成私钥 op ...

  2. 如何在IIS中设置HTTPS服务

    文章:https://support.microsoft.com/en-us/help/324069/how-to-set-up-an-https-service-in-iis 在这个任务中 摘要 为 ...

  3. Nginx设置Https反向代理,指向Docker Gitlab11.3.9 Https服务

    目录 目录 1.GitLab11.3.9的安装 2.域名在阿里云托管,申请免费的1年证书 3.Gitlab 的 https 配置 4.Nginx 配置 https,反向代理指向 Gitlab 配置 目 ...

  4. centos配置apache的https服务

    因为公司要开发微信小程序,由于小程序比较特殊,需要https服务,所以就研究了下apache的https服务了,大致过程如下: 1.向证书机构申请https证书,会得到证书和私钥 2.安装apache ...

  5. 使用poco 的NetSSL_OpenSSL 搭建https 服务端,使用C++客户端,java 客户端访问,python访问(python还没找到带证书访问的代码.)

    V20161028 由于项目原因,需要用到https去做一些事情. 这儿做了一些相应的研究. 这个https 用起来也是折腾人,还是研究了一周多+之前的一些积累. 目录 1,java client 通 ...

  6. 解决Android调用https服务API时出错的问题

    今天同事告诉我说他的应用调用我开发的API报异常了,原因跟SSL有关系,因为之前调试一直调用的是HTTP服务API,今天调试HTTPS服务API时报错了,并且找到了一篇文章让我看了一眼,文章中提到了W ...

  7. .Net Core和jexus配置HTTPS服务

    花了几天时间,看了好多篇博客,终于搞定了网站的HTTPS服务,借此写篇博客,来让有需要的朋友少走弯路. 一.环境介绍 1.Linux下在Docker容器中部署好了一个网站,该网站需要通过外部提供程序访 ...

  8. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  9. Apache ZooKeeper 服务启动源码解释

    转载:https://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper-code/ 本文首先讲解了 Apache ZooKeeper 服 ...

随机推荐

  1. 1. 从系统架构到Hello World

    Android起源与发展: Android操作系统最初在2003年的时候由Andy Rubin开发,主要支持手机.2005年8月由Google收购注资.2007年11月,Google与84家硬件制造商 ...

  2. symfony2 路由工作原理及配置

    1.路由是程序的方法和URL的一一映射.

  3. 常用的主机监控Shell脚本

    最近时不时有朋友问我关于服务器监控方面的问题,问常用的服务器监控除了用开源软件,比如:cacti,nagios监控外是否可以自己写shell脚本呢?根据自己的需求写出的shell脚本更能满足需求,更能 ...

  4. PHP代码规范

    PHP编码规范 1. 标识符命名规范 标识符的命名力求做到统一.达意和简洁. 1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用pro ...

  5. n枚硬币问题(找假币)

    问题描述: 在n枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重.可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币. 解题思路: ...

  6. linux 查看静态库,动态库是32位还是64位

    动态库: file xxx.so 静态库 objdump -a xxx.a

  7. Android ViewPager初探:让页面滑动起来

    下一篇:<Android ViewPager再探:增加滑动指示条> ViewPager需要用到适配器PagerAAdapter,以下四个函数需要重写: instantiateItem(Vi ...

  8. 新手必学的java报表开发工具FineReport实用技巧

    1.在制作模板时,如何将报表中的值传递到超链接网页呢? 在项目中以frame方法把F1.CPT放到项目的页面中,对F1.CPT做网络报表超链接F2.CPT,然后在F2.cpt页面中,做个超链接的网页, ...

  9. Windows Azure支持七层负载均衡--Application Gateway

    一直以来Windows Azure的负载均衡(Loadbalancer)功能一直被客户诟病,无法其竞争对手(特别是国内的云厂商)匹敌. Windows Azure的负载均衡器是四层的,前期的版本不支持 ...

  10. [转]OnKeyDown Numeric Validator CLIENT SIDE

    本文转自:http://forums.asp.net/t/1211724.aspx?OnKeyDown+Numeric+Validator+CLIENT+SIDE <!DOCTYPE html ...