转载自 子非鱼 的博客稍作修改

第一步:依赖

配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块。还好apache/bin目录下有libeay32.dllopenssl.exessleay32.dll,自带了ssl模块,若没有该模块,需自行下载单独的openssl。

第二步:启动模块

启动模块比较简单,打开apache的配置文件conf/httpd.conf,去掉ssl模块前面的#

LoadModule ssl_module modules/mod_ssl.so
...
Include conf/extra/httpd-ssl.conf

第三步:配置证书

如果你有证书了,那么会有malinlin.cn.crt malinlin.cn.key,两个文件,在conf下建立个ssl文件夹存放证书。将原先conf/extra/httpd-ssl.conf备份后,新建一个httpd-ssl.conf。以下是我为蛋总配置的:

Listen 443
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog builtin <VirtualHost *:443>
DocumentRoot "c:/wamp/www"
ServerName malinlin.cn:443
ServerAdmin admin@example.com
ErrorLog "C:/wamp/bin/apache/apache2.2.22/logs/ssl-error.log"
TransferLog "C:/wamp/bin/apache/apache2.2.22/logs/sll-access.log"
SSLEngine on SSLCertificateFile "C:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.crt"
SSLCertificateKeyFile "C:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.key"
SSLCertificateChainFile "C:/wamp/bin/apache/apache2.2.22/conf/ssl/malinlin.cn.crt" </VirtualHost>

如果想在原先httpd-sll.conf修改也行,记得将这三行注释掉。没有注释的话启动wamp会是失败的枯黄色。

#SSLSessionCache         "dbm:D:/wamp/bin/apache/apache2.4.9/logs/ssl_scache"
#SSLSessionCache "shmcb:D:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)"
#SSLSessionCacheTimeout 300

测试

配置好后重启wamp,重启完毕后,浏览器就可以访问了。

额外

如果到这已经解决你的问题了,那就没必要往下看了,下面是介绍没有证书的情况下也能体验,我们强大的openssl也是可以生成证书的,之后访问https://localhost(哎,什么域名都是ok的啦)

1、使用DOS命令进入Apache bin目录

因为该目录才有libeay32.dllopenssl.exessleay32.dll等文件。

2、设置openssl环境变量

使用DOS命令在bin目录下执行命令:set OPENSSL_CONF=..\conf\openssl.cnf,通过此命令设置openssl的环境变量,如果不执行此命令,后面的操作会报错。

set OPENSSL_CONF=..\conf\openssl.cnf

3、生成server.key

DOS下执行命令:openssl genrsa 4096 > server.key,执行了这个命令,会在bin目录下生成server.key。注释:这是使用128位的RSA算法生成的密钥,还可以使用其他的算法生成密钥,相关的用法可以使用搜索引擎搜索。4096是密钥的长度,这个值最好使用4096以上的值,必须是2的整数次方。

openssl genrsa 4096 > server.key

4、生成未签署的server.csr

DOS命令下执行:openssl req -new -key server.key > server.csr,这个命令使用生成的密钥文件 server.key生成证书请求文件server.csr,执行这一命令之后,后面还要输入很多参数。

openssl req -new -key server.key > server.csr

Country Name (2 letter code) [AU]:CN   ISO国家代码(只支持两位字符)
State or Province Name (full name) [Some-State]:Hu Bei 所在省份
Locality Name (eg, city) []:Wu Han 所在城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mark Company 公司名称
Organizational Unit Name (eg, section) []:IT 组织名称
Common Name (e.g. server FQDN or YOUR name) []:www.phpmarker.com 申请证书的域名
Email Address []:phpmarker@163.com 管理员邮箱
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: 交换密钥 可空
An optional company name []: 可空

5、签署服务器证书文件server.crt

DOS命令下执行:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt,这个命令使用第三步和第四步生成的密钥和证书来生成证书server.crt,-days参数表示证书有效期,单位为天,x509表示生成的是X.509证书。

openssl req -x509 -days 365 -key server.key -in server.csr > server.crt

6、查看证书详细信息

DOS下执行命令:openssl x509 -noout -text -in server.crt,这个命令可以查看证书的详细信息

openssl x509 -noout -text -in server.crt

7、开始部署

执行上面所有的命令之后,在Apache的bin目录下生成了三个文件server.keyserver.csrserver.crt。可以将其移动到专门放证书的文件夹。
修改httpd-ssl.conf,以下是我的配置:

Listen 443
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLPassPhraseDialog builtin #SSLSessionCache "dbm:D:/wamp/bin/apache/apache2.4.9/logs/ssl_scache"
#SSLSessionCache "shmcb:D:/wamp/bin/apache/apache2.4.9/logs/ssl_scache(512000)"
#SSLSessionCacheTimeout 300 <VirtualHost _default_:443> DocumentRoot "e:/kuaipan/code/win_www"
ServerName localhost:443
ServerAdmin admin@example.com
ErrorLog "D:/wamp/bin/apache/apache2.4.9/logs/ssl-error.log"
TransferLog "D:/wamp/bin/apache/apache2.4.9/logs/sll-access.log"
SSLEngine on SSLCertificateFile "D:/wamp/bin/apache/apache2.4.9/conf/ssl/server.crt"
SSLCertificateKeyFile "D:/wamp/bin/apache/apache2.4.9/conf/ssl/server.key"
SSLCertificateChainFile "D:/wamp/bin/apache/apache2.4.9/conf/ssl/server.crt" </VirtualHost>

8、重启Apache服务器

重启后浏览器访问https://localhost

可用,但是https是个叉,不像上面的图是绿色的。出现这种情况,因为我们自己制作的证书,不被浏览器所信赖。我们查看证书详细情况:

window下为apache配置ssl证书的更多相关文章

  1. windows下基于IIS配置ssl证书遇到的坑

    前几天配置windows下基于IIS配置ssl证书 完全按照步骤执行 绑定https网址后,一直显示:无法访问此网站 检查了443端口,还有防火墙限制,没发现什么 足足困扰了我好几天 后来突然想到前不 ...

  2. 阿里云centos7.4下tomcat8.5配置ssl证书

    环境 阿里云centos7.4 域名也是阿里申请的 jdk1.8 tomcat8.5 1.申请证书 登录到阿里云的域名管理,可以看到已经申请过得域名,我这里第一个已经配置了ssl,第二个未配置,点击更 ...

  3. 阿里云Ubuntu下tomcat8.5配置SSL证书

    环境 阿里云ubuntu(18.04)服务器 阿里云申请的域名 Tomcat8.5.7 jdk1.8 免费型SSL证书 SSL证书申请 登录阿里云的官网,登录后在菜单中选择SSL证书(应用安全) 进入 ...

  4. Appserv(Apache) 配置ssl证书

    一:打开httpd.conf文件,移除注释的行: Include conf/extra/httpd-ahssl.conf LoadModule ssl_module modules/mod_ssl.s ...

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

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

  6. PHPWAMP集成环境配置ssl证书

    和apache配置ssl证书流程一样, LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule ssl_modu ...

  7. phpstudy配置SSL证书的步骤(Apache环境)以及一些注意事项

    准备工具(我自己的): 腾讯云的域名和云主机,还有SSL证书,以及phpstudy 首先要下载自己的SSL证书,会得到一个压缩包,解压以后会得到四个文件夹和一个csr文件, Apache文件夹内三个文 ...

  8. ubuntu中apache的ssl证书配置及url重写

    一.https原理 借用网上的图(图片来源: https://www.cnblogs.com/xiohao/p/9054355.html ),用到了对称加密和非对称加密.    二.ubuntu的ap ...

  9. nginx下如何配置 ssl证书?腾讯云ssl证书为例!

    nginx下如何配置 ssl证书?腾讯云ssl证书为例! 目前为止,https已经成为一种趋势,想要开启https就需要ssl证书. 首先,为域名注册ssl证书. 腾讯云注册地址:https://cl ...

随机推荐

  1. [麦先生]初学Laravel框架与ThinkPHP的不同(1)

    作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...

  2. win10下安装Wampservice过程中遇到的问题及解决办法

    今天在电脑上装Wampserver的时候遇到了几个问题,启动Wampserver无法成功,一直显示橙色.若启动成功Wampserver的图标会显示绿色. 下面的是解决方法 安装 在浏览器中搜索Wamp ...

  3. 使用jsonpath解析json内容

    JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容.下面我把官网介绍的每个表达式用代码实现,可以更直观的知道该怎么用它. 一.首先需要 ...

  4. codeforces 422A A. Borya and Hanabi(暴力)

    题目链接: A. Borya and Hanabi time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  5. ajax请求json数据案例

    今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...

  6. Android数据存储(二)----PreferenceFragment详解

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  7. 如何避免测试人员提交重复的Bug

    我们在软件测试过程中,由于不同人员测试同一个项目,所以往往会出现Bug重复提交情况,导致对整个项目和人员产生影响: 浪费测试人员时间和精力,从而影响测试进度 浪费开发人员重复看Bug时间 若开发人员由 ...

  8. maven总结3

    POM文件 maven版本:apache-maven-3.1.1 1.<modelVersion>4.0.0</modelVersion>  pom模型的版本,对于maven2 ...

  9. IO流的练习 —— 创建用户注册、登陆案例

    把上次用集合做的时候的分析拿出来 需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪 ...

  10. java 21 - 8 复制文本文件的5种方式

    需求:复制文本文件 分析: 由于文本文件我们用记事本打开后可以读懂,所以使用字符流. 而字符流有5种复制的方式: 首先写main方法 public static void main(String[] ...