目录

前言

准备SSL证书

1 自签名证书与CA证书

2 准备自签名证书

3 准备CA证书

apache2.4配置SSL证书

1 注意事项

2 SSL证书配置apache

3 CA证书配置apache


前言

说实话关于apache配置SSL的教程网上已经一抓一大把了,但是它们都有两个共同的缺点,一是不指明操作系统和apache版本,也不指名是自签证书还是购买的证书;二是重复内容太多,往往找十个教程里面有五个甚至以上内容是一样的,垃圾信息满天飞。

准备SSL证书

对于https而言,我们可以准备两种SSL证书,一种是自签名证书,一种是向证书颁发机构(CA)购买的证书。

1 自签名证书与CA证书

自签名,顾名思义就是自己签名,自签名证书的证书颁发机构是服务端本身,而CA证书的证书颁发机构是可信的证书颁发机构。在文件传输的机密性上,自签名证书与CA证书的保护力是相同的,但是CA证书能够证明使用此证书的网站的可信性。

如果上述文字还不够形象的话,请想象客户端A与服务端B、证书颁发机构C为三个人,其中C在整个人类社会中享有一定的知名度(也就是说,AB都认识且新任C),而AB两人素不相识。当A想要访问B却没有关于B的其他信息时:

B掏出一份由C为证明人的证书,告诉A自己是B。(HTTPS+CA证书)

B掏出一份由自己为证明人的证书,告诉A自己是B。(HTTPS+自签名证书)

B不掏出证书,直接说自己是B。(HTTP)

在这三种情况下,A对B的信任度显而易见是逐步递减的。但是,如果在AB本身是认识的情况下(A见过B的签名,但是没有见过B本人,也就是说B作为CA是被A信任的),自签名证书的证明效力并不比CA证书的效力低。所以很多内部使用的网站可以使用自签名证书,这建立在双方原本就约定过的情况下。

2 准备自签名证书

我们使用OpenSSL来生成一个自签名证书(登陆其官网/index.html即可下载)。

安装成功之后,打开安装目录/bin/openssl.exe(请使用管理员权限打开,否则可能出现拒绝访问提示/生成正常但是找不到文件

1.输入:genrsa -out 你的CAkey文件要存放的位置 2048 生成ca证书密钥。-out说明其为输出文件,2048是其密钥位数。

2.输入:req -new -x509 -days 365 -key 上一步生成文件的位置 -out 你的CAcrt文件要存放的位置 生成ca证书。-x509是其采用的标准,-days说明其生效时间,一般为一年(365)。在输入命令后,openssl会询问你的国家地区机构名等信息,其余信息不想填可以填.(缺省值),请填写你的真实情况(因为他们后期还会被使用),但是其中的CN(Common Name)必须填你颁发证书给的的域名。

3.输入:genrsa -out 你的网站key文件要存放的位置 2048 生成一份网站SSL证书密钥。

4.输入:req -new -key 上一步key文件的位置 -out 你的网站csr文件位置 生成网站证书请求文件CSR。填写信息的规则同上生成crt文件中填写信息的规则。

5.输入:x509 -req -days 365 -in 你的csr文件的位置 -CA 你的ca证书的位置 -CAkey 你的ca密钥的位置 -set_serial 01 -out 你的网站证书要存放的位置 用之前生成的CA证书和密钥给网站证书和密钥签名。

3 准备CA证书

请参照颁发机构的教程。如果你选择的是自己生成请求文件的方式,可以参照上文中准备自签名证书的步骤,但只需要生成一个csr文件。

apache2.4配置SSL证书

1 注意事项

在配置SSL证书的过程中请关闭windows服务下的apache(如果你已经将其作为服务安装),并使用命令行手动启动apache。这有助于你在apache无法启动的情况下发现错误(服务启动不能不会报错,只会报错误代码)。

如果报错Cannot define multiple Listeners on the same IP:port,请检查所有的conf文件(extra文件夹中的也要检查),查看它们是否监听了443端口。

2 SSL证书配置apache

打开apache的配置文件(根文件夹/conf/)httpd.conf,添加以下两行(也可以找到带有注释的这两行并且去除注释符号):

LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf

打开(根文件夹/conf/extra/)httpd-ssl.conf,修改如下(懒人方法复制粘贴,或者找到这几行然后修改):

Listen 443SSLPassPhraseDialog  builtinSSLSessionCache        "shmcb:${SRVROOT}/logs/ssl_scache(512000)"SSLSessionCacheTimeout  300<VirtualHost *:443>DocumentRoot "apache根目录\htdocs"ServerName 你的域名:443SSLEngine onSSLCertificateFile “网站证书位置"SSLCertificateKeyFile "网站密钥位置"#SSLCertificateChainFile "证书链文件位置"</VirtualHost>

3 CA证书配置apache

参照上一节,去掉注释行的注释。

Windows下Apache2.4配置SSL(HTTPS)相关推荐

  1. windows下基于IIS配置ssl证书

    这边用的是阿里云的免费证书,下面展示一下操作步骤. 1.首先登陆阿里云,搜索ssl证书进入ssl证书控制台.点击购买 2.然后选择免费版,配置如下: 3.选择立即购买,购买成功后回到ssl控制台即可查 ...

  2. Mongodb在windows下配置文件的配置

    Mongodb在windows下通过配置文件配置和访问 博客分类: Mongodb 数据库 mongomongodbwindows配置 Mongodb配置文件配置: 第一步:在"D:\Mon ...

  3. 关于windows下的libtorch配置

    关于windows下的libtorch配置 1.环境 Windows service 2012 R2/Windows10 Cuda 9.0 OpenCV3.4.1 Libtorch1.0 VS2017 ...

  4. 读取串口 :javax.comm 2.0 windows下Eclipse的配置

    javax.comm 2.0  windows下Eclipse的配置       要在Windows下,对计算机的串口或并口等进行编程,可以选择使用Java Communication API (ja ...

  5. Mongodb在windows下通过配置文件配置和访问

    Mongodb在windows下通过配置文件配置和访问 博客分类: Mongodb 数据库 mongomongodbwindows配置 Mongodb配置文件配置: 第一步:在"D:\Mon ...

  6. Windows下MySql主从配置实战教程

    Windows下MySql主从配置实战教程 MySql的主从配置教程 主库MySql的安装 1.MySQL的下载 2.MySQL配置文件的编写 3.初始化数据库 4.安装服务 5.启动MySql 6. ...

  7. Windows下PySpark的配置

    Windows下PySpark的配置 环境: hadoop-2.7.4 spark-2.4.3-bin-hadoop2.7 jdk-1.8 hadooponwindows Anaconda3 pyth ...

  8. GTSAM在windows下安装,配置,简单调试

    GTSAM在windows下安装,配置,简单调试 BOOST安装配置 GTSAM安装配置 安装 配置 GTSAM简单调试 代码分析1 代码分析2 模型分析和结果展示 BOOST安装配置 链接: boo ...

  9. php5.5 wamp,wamp环境单独安装(windows下apache2.4、mysql5.5、php5.5的版本)

    Apache2.4.10 x86版本 2.VC11的依赖(vc2012 x86) 安装顺序: 1.vc2012(x86版本)  选择vc2012中的"vcredist_x86.exe&quo ...

最新文章

  1. 自家表兄弟Tomcat和Jetty
  2. QT学习笔记(五):Qt5的8种标准对话框示例
  3. 萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks...
  4. LiveLayout
  5. 自定义模块的查找方式
  6. 使用python标准库urllib2访问网页
  7. python入门到熟练要多久_python_入门到熟练_day02
  8. 极域九法——小白看得懂的退出极域电子教室教程
  9. 仿QQ音乐(HTML+CSS)
  10. 简单常用的10个excel公式
  11. 时间窗口(Time Windows)
  12. 工业智能网关BL110应用之四十三:网口采集欧姆龙PLC的配置
  13. IEEE754 16进制浮点型 转为十进制
  14. WinRAR 压缩文件的时候排除指定的目录文件夹
  15. MySQL 文件结构、逻辑架构及 sql 执行流程分析作者:Java后端架构
  16. 边缘检测(opencv_python下)
  17. 获取字符串长度的几种办法
  18. 计算机管理声音视屏不见,电脑视频没有声音要如何解决,戳进来看看!
  19. 谁偷了我的奶酪(上)
  20. mysql篇:如何进入mysql

热门文章

  1. 最长上升子序列的解法及其路径输出
  2. Ionic实现微信、qq、微博分享
  3. H.266/VVC熵编码之二进制化
  4. android 6 root boot,震撼首发:一加6T解锁和获取ROOT权限教程
  5. 企业微信接收服务器php代码,企业微信通知机器人 - 利用ThinkPHP+企业微信随时随地接受业务提醒、日报表等,个人亦可接入 – 基于ThinkPHP和Bootstrap的快速后台开发框架...
  6. 广联达携手法大大,HR签约效率提升91%
  7. 使用 tc 模拟网络延迟和丢包
  8. 红米note12turbo参数配置 Redminote12turbo值得买吗
  9. python如何提高for循环效率_如何提高python的遍历效率?
  10. 湛江研发实验室装修设计图|布局