在这一章节里, 我记录了一下如何在 wamp 环境下配置 ssl

前提条件

在设置 Apache + SSL 之前, 需要确认 Apache 已经安装并可以正常工作. 并且 ssl 需要的文件在如下的位置:

1
2
3
4
5
[Apache安装目录]/modules/ mod_ssl.so
 
[Apache安装目录]/bin/ openssl.exe, libeay32.dll, ssleay32.dll
 
[Apache安装目录]/conf/ openssl.cnf

配置文件修改

1
2
3
//去掉下面行首的 # 号
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf

用于载入 ssl 模块和其配置文件

认证文件生成

在命令行下进入Apache安装目录下\bin文件夹,输入命令:

1
2
3
//生成证书签发请求
 
D:\wamp\apache\bin> openssl req -new -out server.csr -config ../conf/openssl.cnf
1
2
3
4
5
6
7
8
9
10
//回车后要求输入密码和确认密码
 
Loading 'screen' into random state - done
Generating a 1024 bit RSA private key
......................................................................++++++
........................................++++++
writing new private key to 'privkey.pem'
Enter PEM pass phrase: 123456
Verifying - Enter PEM pass phrase: 123456
-----
1
2
3
4
5
6
7
8
9
10
//确认密码输完回车后, 要求输入国家缩写, 只能2个字母
 
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
1
2
3
//要求输入州名或省名
 
State or Province Name (full name) [Some-State]:Shanghai
1
2
3
//要求输入城市名
 
Locality Name (eg, city) []:Shanghai
1
2
3
//要求输入组织名或者公司名
 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:yiban
1
2
3
//要求输入部门名
 
Organizational Unit Name (eg, section) []:yiban
1
2
3
//要求输入服务器域名或IP地址
 
Common Name (e.g. server FQDN or YOUR name) []:yiban
1
2
3
//要求输入邮件地址
 
Email Address []:shawn0828@hotmail.com
1
2
3
4
5
//要求输入密码
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
1
2
3
//要求输入公司别名
 
An optional company name []:yiban
1
2
3
//生成私钥,输入命令:
 
D:\wamp\apache\bin>openssl rsa -in privkey.pem -out server.key
1
2
3
4
//要求输入之前 privkey.pem 的密码
 
Enter pass phrase for privkey.pem: 123456
writing RSA key
1
2
3
//创建证书,输入命令:
 
D:\wamp\apache\bin>openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 8000
1
2
3
4
5
6
7
//回车后, 显示创建成功, 有效期为 8000 天
 
Loading 'screen' into random state - done
Signature ok
subject=/C=CN/ST=Shanghai/L=Shanghai/O=yiban/OU=yiban/CN=yiban/emailAddress=shaw
n0828@hotmail.com
Getting Private key

完成后, 将 \bin 下面的 server.csr、server.crt、server.key 拷贝到 [Apache安装目录]\conf\ssl 文件夹中, 没有则创建

再打开 [Apache安装目录]\conf\extra\httpd-ssl.conf 文件
替换 SSLCertificateFile 和 SSLCertificateKeyFile 语句对应的路径,例:

1
2
3
4
#SSLCertificateFile "D:/wamp/apache/conf/server.crt" //配置文件默认内容
 
//替换为
SSLCertificateFile "D:/wamp/apache/conf/ssl/server.crt"
1
2
3
4
#SSLCertificateKeyFile "D:/wamp/apache/conf/server.key" //配置文件默认内容
 
//替换为
SSLCertificateKeyFile "D:/wamp/apache/conf/ssl/server.key"

最后, 重启 Apache 服务器

2013的某一天

在重启 Apache 时,若遇到 Apache 无法运行的情况

1
2
可以运行开始菜单中 Apache HTTP Server 2.2\Configure Apache Server\Test Configuration
来查找 httpd.conf 中的详细错误情况
1
或通过查看 Apache 安装目录下的 logs 文件夹内的 access.log 和 error.log 中的记录解决问题

如有更好的建议和代码片段,欢迎留言提出

wamp openssl的更多相关文章

  1. windows中wamp环境composer使用中openssl问题解决

    今天在windows下学习lavaral,使用composer update命令报如下错误: [Composer\Exception\NoSslException] The openssl exten ...

  2. wamp下开启SSL,解决APACHE启动问题

    wamp开启SSL解决wamp5_1.7.4中APACHE启动问题 1.#修改httpd.conf文件LoadModule ssl_module modules/mod_ssl.soInclude c ...

  3. 在Windows的Wamp环境下安装Composer

    注意: PHP缺少openssl扩展. 你可能会去屏幕右下角的Wamp的控制台,去加载php的openssl扩展,或者在php.ini中去掉 extension=php_openssl.dll 这一行 ...

  4. 在wamp集成环境下安装laravel5.2.*框架

    虽然官方一直强烈推荐使用homestead,但是这个相对麻烦一点,所以我还是选择使用wamp集成开发环境.还有这里我只讲解windows系统下的安装,其他例如mac或linux就不写了,此文章是面向刚 ...

  5. wamp环境搭建(apache安装,mysql安装,php安装)

    1.软件安装说明 WAMP:Window操作系统+Apache软件+PHP解析器+MySQL软件 2.Apache执行流程 用户向服务器端发送请求àDNS解析àIP地址à端口àApache服务 Apa ...

  6. win7/win8下手工搭建WAMP环境

    win7/win8下手工搭建WAMP环境. 最近学习wamp,看了好多教程,出来好多问题,终于成功搞定,这里集合了一下最好的教程,写了一些自己的经验,希望大家有用 这里不能上传图片,我就写了个带pdf ...

  7. windows下安装Composer提示缺少openssl的解决方法

    在Windows环境下安装Composer(注:Composer要求PHP版本在5.3.2+),你可能会遇到这种安装失败的情况:出错信息是 "The openssl extension is ...

  8. 秋初 WAMP 集成环境 v2.1

    基于QT的PHP集成开发环境v2.1 https://gitee.com/xiaqiuchu/wamp-integrated-environment 界面预览 已实现功能 服务的启动.关闭.重启. p ...

  9. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

随机推荐

  1. 关于PHP中的SESSION技术

    Session是服务器端技术,服务器在运行时可以为每一个用户创建一个其独享的session文件,所以用户在访问服务器web资源时,可以把各自的数据放在各自的session中,当用于再去访问该服务器中其 ...

  2. idea下的jsp开发中cannot resolve taglib with uri的解决方法

    写jsp难免会用到<c:foreach>标签,于是我在idea上的jsp顶头写下了 <%@ taglib prefix="c" uri= 'http://java ...

  3. (转)webpack从零开始第6课:在Vue开发中使用webpack

    vue官方已经写好一个vue-webpack模板vue_cli,原本自己写一个,发现官方写得已经够好了,自己写显得有点多余,但为了让大家熟悉webpack,决定还是一步一步从0开始写,但源文件就直接拷 ...

  4. jQuery中事件模块介绍

    事件模块 1.提供其他DOM方法 包括:next 和 nextAll方法 1.1 next方法实现 目标:扩展框架方法,获取当前元素的下一个元素 问题:如何获取下一个元素? 1.1.1 提供 next ...

  5. MySQL 5.6 Reference Manual-14.2 InnoDB Concepts and Architecture

    14.2 InnoDB Concepts and Architecture 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB Multi-Versioning ...

  6. Redis入门笔记-redis内部数据结构(01)

    redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...

  7. 面试官:精通 Mybatis?请回答下这几个问题

    点关注,不迷路:持续更新Java架构相关技术及资讯热文!!! Mybatis是现在非常主流的持久层框架,虽然平时用的多,但是其中几个细节的问题,能说出个所以然来不? 一.最常见,参数中 #{} 和 $ ...

  8. java类型和mysql类型的转换

    Integer  -----> int 11String     ----->  varchar 20Long       -----> bigint 20String      - ...

  9. Vue学习之路第十八篇:私有过滤器的使用

    1.上篇已经介绍了全局过滤器的使用,“全局”顾名思义就是一次定义处处使用,可以被一个页面里不同的Vue对象所使用,如下代码所示: <body> <div id="app1& ...

  10. Linux设备驱动--块设备(四)之“自造请求”(转)

    前面, 我们已经讨论了内核所作的在队列中优化请求顺序的工作; 这个工作包括排列请求和, 或许, 甚至延迟队列来允许一个预期的请求到达. 这些技术在处理一个真正的旋转的磁盘驱动器时有助于系统的性能. 但 ...