windows下apache配置ssl(https)服务器
SSl是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全, 可以通过apache自带的openssl进行配置:
步骤如下:
1.安装有openssl模板的apache,大多数都会有,判断有没有 只需要查看 apache\bin 下有没有 openssl.exe 运行程序;
2.配置 apache/conf/httpd.conf 文件,如下:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
去除这两行前的#
3.配置 apache/conf/extra/httpd-ssl.conf 文件,如下:
SSLCertificateFile "conf/ssl.crt/server.crt" (服务器证书的位置)
SSLCertificateKeyFile "conf/ssl.key/server.key" (服务器私钥的位置)
#SSLCACertificateFile "c:/Apache24/conf/ssl.crt/ca-bundle.crt" (CA根证书的位置,进行客户端验证时需要)
#SSLVerifyClient require (去掉前面的‘#’号,进行客户端验证时需要)
#SSLVerifyDepth 10 (去掉前面的‘#’号,把10改为1,进行客户端验证时需要)
4.生成服务器的私钥
打开cmd命令行 进入apache/bin目录 执行 openssl genrsa -out server.key 1024 命令 在当前bin目录下生成一个 server.key 私钥文件
5.生成签署申请
在当前目录命令行下继续执行 openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 server.csr 签署文件
该过程将填入签署文件信息 如国家 省份 城市地区 机构组织等 值得注意的一点是:Common Name 信息必须要和是网站域名或是IP地址与httpd.conf中的serverName一致。
6.生成CA私匙文件
在当前目录命令行下继续执行 openssl genrsa -out ca.key 1024 命令 在当前bin目录下生成一个 ca.key 私钥文件
7.利用CA的私钥产生CA的自签署证书
在当前目录命令行下继续执行 openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 ca.crt 自签署证书
该过程将填入签署文件信息 如国家 省份 城市地区 机构组织等 值得注意的一点是:Common Name 信息必须要和是网站域名或是IP地址与httpd.conf中的serverName一致。(与步骤5一致)
8.CA为网站服务器签署证书
在当前目录命令行下继续执行openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf 命令 在当前bin目录下生成一个 server.crt 签署证书文件
这里执行命令时会报错,解决方法在当前文件夹下(bin目录)创建 demoCA 文件夹, 在其中创建2个文件和1个文件夹: index.txt 空文件 内容为01的无后缀名serial文件 和 newcert文件夹 即可,重新运行命令便不会有错了
9.移动文件
将生成的 server.crt,server.key,ca.crt 文件复制到 步骤3中所配置的文件夹中
10.配置httpd.conf和httpd-ssl.conf文件中的ServerName的访问域名 或 IP地址, 重启apache服务
11.打开IE,输入https://域名或IP地址:443的时候会弹出一个验证证书的地方点击取消发现没能成功,原来还要生成一个 .pfx 的证书并导入到IE中去。
在当前目录命令行下继续执行 openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx 在bin下面生成一个ca.pfx的文件,中间有个输入密码的过程,要记住这个密码。打开IE浏览器-》工具-》Internet选项-》内容-》证书,按照提示导入,这里要输入刚才生成 .pfx 过程中输入的密码。
以上内容借鉴 http://blog.csdn.net/decajes/article/details/41706739
http://www.jb51.net/article/23971.htm
本人菜鸟 有些地方不对请大神指出!
windows下apache配置ssl(https)服务器的更多相关文章
- windows下Apache配置SSL安全连接
什么是SSL? SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全.Open SSL下载地址:http://www ...
- windows 下nginx配置ssl https支持
本文适合正式上线的配置,购买来的证书 私钥*.key文件需要先去掉密码 openssl rsa -in old.key -out new.key
- Windows下Nginx配置SSL实现Https访问(包含证书生成)
Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https ...
- Windows下Apache添加SSL模块
参考资料:http://www.yuansir-web.com/2011/05/12/hello-world/测试环境:windows2003 32位 + Apache2.4 + PHP5.4 一.准 ...
- phpstudy集成下Apache配置部署https安全证书
一..先申请到安全证书.(腾讯云或者阿里云申请免费1年的安全证书),怎么申请这里也说下(以腾讯云为例): 1.登录腾讯云QQ或微信登录都行,第一次登录要通过实名认证,点击[产品]---[ss证书l] ...
- Windows下nginx配置多台服务器做负载均衡
Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3 ...
- 8-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(Apache 配置SSL,HTTPS连接)
https://www.cnblogs.com/yangfengwu/p/10947423.html 和当时配置MQTT差不多,去下载证书文件 https://www.cnblogs.com/ya ...
- windows下apache利用SSL来配置https
第一步打开httpd.conf文件找到以下两个变量把注释去掉. #LoadModule ssl_module modules/mod_ssl.so (去掉前面的#号) #Include conf/ex ...
- windows下apache配置https
1.下载带有openSSL的apache安装包,我下载的为apache_2.2.11-win32-x86-openssl-0.9.8i.msi,安装后确认一下bin路径下的openssl.exe,ss ...
随机推荐
- 动态树(LCT):HDU 4010 Query on The Trees
Query on The Trees Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Othe ...
- [已解决问题] An error occurred while automatically activating bundle com.android.ide.eclipse.adt
可以参见stackoverflow的解决方案:http://stackoverflow.com/questions/16974349/an-error-occurred-while-automatic ...
- lightoj 1198 最大权重匹配
题目链接:http://lightoj.com/volume_showproblem.php?problem=1198 #include <cstdio> #include <cst ...
- XPath总结(转)
XPath简介 XPath是W3C的一个标准.它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计.目前有XPath1.0和XPath2.0两个版本.其中Xpath1.0是199 ...
- 高性能Java Web 页面静态化技术(原创)
package com.yancms.util; import java.io.*; import org.apache.commons.httpclient.*; import org.apache ...
- sql服务器内部参数使用详情(存储过程)
exec sp_help;返回当前数据库中的所有存储过程.exec sp_help datebase.dbo.table名称 返回当前表中的所有对象.如字段名称等.这个吊exec sp_helpfil ...
- 慕课python3.5学习笔记
本文章中有部分代码为python2 慕课python入门 慕课python进阶 布尔值 布尔值可以用and.or和not运算. and运算是与运算,只有所有都为 True,and运算结果才是 True ...
- php数组和字符串转换
PHP 中由于数组和字符串这两种变量类型是如此常用,以至于 PHP 具有两个函数,可以在字符串和数组之间互相进行转换. $array=explode(separator,$string); $stri ...
- Ubuntu中使用终端运行Hadoop程序
接上一篇<Ubuntu Kylin系统下安装Hadoop2.6.0> 通过上一篇,Hadoop伪分布式基本配好了. 下一步是运行一个MapReduce程序,以WordCount为例: 1. ...
- SQL中存储过程中使用事务,并且加入异常处理机制.
--存储过程中使用事务,并且加入异常处理机制. -- ============================================= CREATE PROCEDURE [dbo].[UP_ ...