首页 web前端 前端问答 Windows下Apache配置SSL以支持https及出错的解决办法

Windows下Apache配置SSL以支持https及出错的解决办法

Nov 25, 2016 pm 02:38 PM
apache https ssl

SSL

SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。

安全套接字层 (SSL) 技术通过加密信息和提供鉴权,保护您的网站安全。一份 SSL 证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。浏览器指向一个安全域时,SSL 同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。它们可以启动一个保证消息的隐私性和完整性的安全会话。

首先要有一个主证书,然后用主证书来签发服务器证书和客户证书,服务器证书和客户证书是平级关系,SSL所使用的证书可以自己生成,也可以通过一个商业性CA(如Verisign 或 Thawte)签署证书。签发证书的问题:如果使用的是商业证书,具体的签署方法请查看相关销售商的说明;如果是知己签发的证书,可以使用openssl 自带的CA.sh脚本工具。如果不为单独的客户端签发证书,客户端证书可以不用生成,客户端与服务器端使用相同的证书。

配置过程 

步骤一:安装apache,使其支持SSL,并安装php

1.安装配有SSL模块的apache,apache_2.2.8-win32-x86-openssl-0.9.8g

2.配置apache以支持SSL:

1)打开apache的配置文件conf/httpd.conf

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
登录后复制

去掉两行前面的#

2)注意修改httpd-ssl.conf 文件里的两个字段:

SSLCertificateFile "C:/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "C:/Apache2.2/conf/server.key"
登录后复制

3.安装php,整合apache和php(略)

步骤二:为网站服务器生成证书及私钥文件

1. 生成服务器的私钥

进入命令行:

D:\local\apache2\bin\openssl genrsa -out server.key 1024
登录后复制

在当前目录下生成了一个server.key生成签署申请

2. 生成签署申请

D:\local\apache2\bin>openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
登录后复制

此时生成签署文件server.csr。

可能会报错:无法定位序数xxx于动态链接库libeay32.dll,解决办法:将apache的bin目录下的libeay32.dll文件复制到c:\windows\system32下。

步骤三:通过CA为网站服务器签署证书

1.生成CA私钥

D:\local\apache2\bin\openssl genrsa  -out ca.key 1024
登录后复制

多出ca.key文件

2.利用CA的私钥产生CA的自签署证书

D:\local\apache2\bin\openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  -config ..\conf\openssl.cnf
登录后复制

此时需要输入一些信息,注意Common Name为服务器域名,如果在本机,为本机IP。

3.CA为网站服务器签署证书

D:\local\apache2\bin\openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
登录后复制

但此时会报错,于是在当前目录创建demoCA,里面创建以下文件,index.txt,serial:serial内容为01,其他为空,以及文件夹newcert.再执行一遍,即可生成server.crt文件

步骤四:将 server.crt,server.key复制到apache的conf文件夹下,重启apache

步骤五:配置windows

打开C:\WINDOWS\system32\drivers\etc下的etc文件:
修改为:

127.0.0.1 localhost
127.0.0.1 www.icultivator.com
登录后复制

步骤六:

在apache下创建站点。 访问

https://www.icultivator.com
登录后复制


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java 并发编程中如何进行并发测试和调试? Java 并发编程中如何进行并发测试和调试? May 09, 2024 am 09:33 AM

并发测试和调试Java并发编程中的并发测试和调试至关重要,以下技术可供使用:并发测试:单元测试:隔离并测试单个并发任务。集成测试:测试多个并发任务之间的交互。负载测试:评估应用程序在高负载下的性能和可扩展性。并发调试:断点:暂停线程执行并检查变量或执行代码。日志记录:记录线程事件和状态。堆栈跟踪:识别异常源头。可视化工具:监视线程活动和资源使用情况。

算法在 58 画像平台建设中的应用 算法在 58 画像平台建设中的应用 May 09, 2024 am 09:01 AM

一、58画像平台建设背景首先和大家分享下58画像平台的建设背景。1.传统的画像平台传统的思路已经不够,建设用户画像平台依赖数据仓库建模能力,整合多业务线数据,构建准确的用户画像;还需要数据挖掘,理解用户行为、兴趣和需求,提供算法侧的能力;最后,还需要具备数据平台能力,高效存储、查询和共享用户画像数据,提供画像服务。业务自建画像平台和中台类型画像平台主要区别在于,业务自建画像平台服务单条业务线,按需定制;中台平台服务多条业务线,建模复杂,提供更为通用的能力。2.58中台画像建设的背景58的用户画像

eclipse如何添加服务器 eclipse如何添加服务器 May 05, 2024 pm 07:27 PM

要将服务器添加到 Eclipse,请执行以下步骤:创建服务器运行时环境配置服务器创建服务器实例选择服务器运行时环境配置服务器实例启动服务器部署项目

如何使用 PHP 部署和维护网站 如何使用 PHP 部署和维护网站 May 03, 2024 am 08:54 AM

要成功部署和维护PHP网站,需要执行以下步骤:选择Web服务器(如Apache或Nginx)安装PHP创建数据库并连接PHP上传代码到服务器设置域名和DNS监控网站维护步骤包括更新PHP和Web服务器、备份网站、监控错误日志和更新内容。

如何利用 Kubernetes Operator simplifiy PHP 云端部署? 如何利用 Kubernetes Operator simplifiy PHP 云端部署? May 06, 2024 pm 04:51 PM

KubernetesOperator可简化PHP云端部署,通过以下步骤实现:安装PHPOperator,以便与Kubernetes集群进行交互。部署PHP应用,声明映像和端口。使用命令管理应用,例如获取、描述和查看日志。

如何实施 PHP 安全最佳实践 如何实施 PHP 安全最佳实践 May 05, 2024 am 10:51 AM

如何实施PHP安全最佳实践PHP是最受欢迎的后端Web编程语言之一,用于创建动态和交互式网站。然而,PHP代码可能容易受到各种安全漏洞的攻击。实施安全最佳实践对于保护您的Web应用程序免受这些威胁至关重要。输入验证输入验证是验证用户输入并防止恶意输入(如SQL注入)的关键第一步。PHP提供了多种输入验证函数,例如filter_var()和preg_match()。示例:$username=filter_var($_POST['username'],FILTER_SANIT

Java数据结构与算法:云计算实战指南 Java数据结构与算法:云计算实战指南 May 09, 2024 am 08:12 AM

云计算中数据结构和算法的使用至关重要,用于管理和处理海量数据。常见的数据结构包括数组、列表、哈希表、树和图。常用的算法有排序算法、搜索算法和图算法。利用Java的强大功能,开发者可以使用Java集合、线程安全数据结构和ApacheCommonsCollections来实现这些数据结构和算法。

Java 网络编程中常用的协议和库有哪些? Java 网络编程中常用的协议和库有哪些? May 09, 2024 pm 06:21 PM

Java网络编程常用协议和库:协议:TCP、UDP、HTTP、HTTPS、FTP库:java.net、java.nio、ApacheHttpClient、Netty、OkHttp

See all articles