window下为apache配置ssl证书
转载自 子非鱼 的博客稍作修改
第一步:依赖
配置Apache服务器支持https协议和SSL证书,最基本的要求是Apache包含openssl模块。还好apache/bin目录下有libeay32.dll
、openssl.exe
、ssleay32.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.dll
、openssl.exe
、ssleay32.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.key
、server.csr
、server.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证书的更多相关文章
- windows下基于IIS配置ssl证书遇到的坑
前几天配置windows下基于IIS配置ssl证书 完全按照步骤执行 绑定https网址后,一直显示:无法访问此网站 检查了443端口,还有防火墙限制,没发现什么 足足困扰了我好几天 后来突然想到前不 ...
- 阿里云centos7.4下tomcat8.5配置ssl证书
环境 阿里云centos7.4 域名也是阿里申请的 jdk1.8 tomcat8.5 1.申请证书 登录到阿里云的域名管理,可以看到已经申请过得域名,我这里第一个已经配置了ssl,第二个未配置,点击更 ...
- 阿里云Ubuntu下tomcat8.5配置SSL证书
环境 阿里云ubuntu(18.04)服务器 阿里云申请的域名 Tomcat8.5.7 jdk1.8 免费型SSL证书 SSL证书申请 登录阿里云的官网,登录后在菜单中选择SSL证书(应用安全) 进入 ...
- Appserv(Apache) 配置ssl证书
一:打开httpd.conf文件,移除注释的行: Include conf/extra/httpd-ahssl.conf LoadModule ssl_module modules/mod_ssl.s ...
- windows下基于IIS配置ssl证书
我这边用的是阿里云的免费证书,下面展示一下操作步骤. 首先登陆阿里云,搜索ssl证书进入ssl证书控制台.点击购买 然后选择免费版,配置如下: 选择立即购买,购买成功后回到ssl控制台即可查看证书.然 ...
- PHPWAMP集成环境配置ssl证书
和apache配置ssl证书流程一样, LoadModule socache_shmcb_module modules/mod_socache_shmcb.so LoadModule ssl_modu ...
- phpstudy配置SSL证书的步骤(Apache环境)以及一些注意事项
准备工具(我自己的): 腾讯云的域名和云主机,还有SSL证书,以及phpstudy 首先要下载自己的SSL证书,会得到一个压缩包,解压以后会得到四个文件夹和一个csr文件, Apache文件夹内三个文 ...
- ubuntu中apache的ssl证书配置及url重写
一.https原理 借用网上的图(图片来源: https://www.cnblogs.com/xiohao/p/9054355.html ),用到了对称加密和非对称加密. 二.ubuntu的ap ...
- nginx下如何配置 ssl证书?腾讯云ssl证书为例!
nginx下如何配置 ssl证书?腾讯云ssl证书为例! 目前为止,https已经成为一种趋势,想要开启https就需要ssl证书. 首先,为域名注册ssl证书. 腾讯云注册地址:https://cl ...
随机推荐
- [麦先生]初学Laravel框架与ThinkPHP的不同(1)
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Lara ...
- win10下安装Wampservice过程中遇到的问题及解决办法
今天在电脑上装Wampserver的时候遇到了几个问题,启动Wampserver无法成功,一直显示橙色.若启动成功Wampserver的图标会显示绿色. 下面的是解决方法 安装 在浏览器中搜索Wamp ...
- 使用jsonpath解析json内容
JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容.下面我把官网介绍的每个表达式用代码实现,可以更直观的知道该怎么用它. 一.首先需要 ...
- codeforces 422A A. Borya and Hanabi(暴力)
题目链接: A. Borya and Hanabi time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- ajax请求json数据案例
今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求.如图所示:点击北美洲下面出现请求的一些数据 html代码结构: <div class=& ...
- Android数据存储(二)----PreferenceFragment详解
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- 如何避免测试人员提交重复的Bug
我们在软件测试过程中,由于不同人员测试同一个项目,所以往往会出现Bug重复提交情况,导致对整个项目和人员产生影响: 浪费测试人员时间和精力,从而影响测试进度 浪费开发人员重复看Bug时间 若开发人员由 ...
- maven总结3
POM文件 maven版本:apache-maven-3.1.1 1.<modelVersion>4.0.0</modelVersion> pom模型的版本,对于maven2 ...
- IO流的练习 —— 创建用户注册、登陆案例
把上次用集合做的时候的分析拿出来 需求: 用户登录注册案例 按照如下操作,可以让我们更符合面向对象思想: A:这个案例有哪些类 B:每个类中又有哪些东西 C:类与类之间的关系 分析: A:这个案例有哪 ...
- java 21 - 8 复制文本文件的5种方式
需求:复制文本文件 分析: 由于文本文件我们用记事本打开后可以读懂,所以使用字符流. 而字符流有5种复制的方式: 首先写main方法 public static void main(String[] ...