apache 开启https协议

本文详细介绍如何为Apache服务器配置HTTPS服务,包括生成私钥、证书请求、使用CA签署证书及配置Apache监听HTTPS请求的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近开发项目的时候,由于要用到https协议,所以就在网上找了一下教程,但是网上的教程大部分都感觉有点问题,所以在这里总结一下,

首先,我是用的免安装的apache服务器,并不是用的集成的那种像xampp服务器,首先,需要把conf文件夹下的httpd.conf文件打开,把

LoadModule ssl_module modules/mod_ssl.so

Include conf/extra/httpd-ssl.conf

这两行的前面的分号去掉,

然后把httpd-ssl.conf文件打开,修改

SSLCertificateFile "C:/Apache2.2/conf/server.crt"

SSLCertificateKeyFile "C:/Apache2.2/conf/server.key"

把里面的值改为apache的安装目录

打开管理员命令行窗口,win+x,win就是指那个键盘上

有windows图标的按键,用快捷方式打开管理员的命令行窗口以后,定位到apache服务器安装的conf目录,这里我的apahce服务器安装在D盘

的Aserver文件夹下,所以先输入D:就可以定位到D盘的根目录下,然后输入cd aserver就可以定位到aserver文件夹,然后 cd apache24就可以定

位到apache的文件夹,再输入 cd conf 就可以了,然后输入:set OPENSSL_CONF=..\conf\openssl.cnf,就可以设置环境变量了,然后 cd.. ,返回

上一级目录,再输入cd bin 就可以定位到bin文件夹,

接下来:

生成服务器的私钥 :openssl genrsa -out server.key 1024

生成签署申请  openssl req -new out server.csr -key server.key -config ..\conf\openssl.cnf

会出现一系列让你填的信息:比如国家,省份,城市,等一列的信息,其中最重要的是common name 这个要与apahce httpd.conf文件中的Server name

一致,这里我的是 locahost:80,

然后是通过CA为网站服务器签署证书

1、生成CA私钥

     openssl genrsa -out ca.key 1024

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

     openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf //意思是有效期是365天

   common name 仍为localhost:80

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

  首先我们需要在bin文件夹下面新建一个demoCA文件夹,在里面创建newcerts文件夹,然后在denmoCA文件夹下面创建index.txt文件,serial文件,没有后缀名

里面的内容为01,接下来执行下面的代码:

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf

然后会有一些提示,按它的提示操作就行

然后将bin文件夹下 server.crt,server.key复制到apache的conf文件夹下

这个时候重启apache服务器的时候提示失败,我看事件日志的时候上面提示443端口重复监听,所以这个时候需要修改extarl文件夹下的httpd-ssl,conf文件了里面的监听

端口,把里面的443全部改成没有被监听的端口就行,这里我用的是1000,修改完,保存,重启apahce服务器就可以了,但是由于这里的CA证书并不是官方认证的,所以

在浏览器输入的时候,会提示证书有问题。直接点击继续访问就可以了。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Master_Yoda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值