【转载】windows+php+apache本地配置HTTPS

简介: 1、搭建PHP+apache环境:apache:http://www.apachelounge.com/download/php:http://windows.

1、搭建PHP+apache环境:

apache:http://www.apachelounge.com/download/
php:http://windows.php.net/download/#php-5.5

版本选择都下载最新版的64bit

img_5b7c6c8ab636917c1e5596515f7641d8.png

选择解压到C盘根目录上,现在开始配置,PHP是不用动的,只需要在访问域名时候Apache去找PHP解析就行了,所以仅仅配置:
Apache24\conf\httpd.conf

配置步骤:

1.打开Apache24\conf\httpd.conf

ServerRoot根据自己需求改为apache根目录。 
DocumentRoot 也可以根据自己的喜好修改网站根目录的地方。别忘了下面的Directory节点里面的也得改。

2.在一堆LoadModule下面添加

# php7 support
LoadModule php7_module C:/php/php7apache2_4.dll
AddType application/x-httpd-php .php .html .htm
# configure the path to php.ini
PHPIniDir "C:/php"

3.为了让apache把index.php也设为默认页把

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
修改为
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

4.管理员权限打开cmd
C:\Apache24\bin\httpd.exe -k install

5.在htdocs中新建一个index.php文件,然后在浏览器中输入127.0.0.1就可以打开了

现在的目标就是 http://localhost/index.php 的访问变成 https://localhost/index.php

总的来说呢,https和http的区别就是一个多了个s嘛!和这个s代表的是加密,应该说apache自带一个SSL加密模块,这个小程序有exe的以及conf,现在就是围绕这两个进行操作:

1.修改两个配置文件,一个为conf/httpd.conf,另一个为conf/extra/httpd-ssl.conf

在httpd.conf中 

a. 删掉以下语句前的’#’
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-mpm.conf 
#Include conf/extra/httpd-ssl.conf 

b. httpd-ssl.conf中把相应选项改成如下,有’#’的删掉

SSLCertificateFile "c:/Apache24/conf/server.crt"
SSLCertificateKeyFile "c:/Apache24/conf/server.key"
SSLCACertificateFile "c:/Apache24/conf/ca.crt"
SSLVerifyClient require
SSLVerifyDepth  1

2.生成各种证书

进入Apache24\bin目录,在对应文件夹下打开cmd
这里需要一个openssl的配置文件openssl.cnf,如果他不在 conf文件夹下,可以去网上下一个,建议把它放到bin目录下,这样子敲命令比较方便

a. 首先要生成服务器端的私钥(key文件):
set OPENSSL_CONF=openssl.cnf
openssl genrsa -des3 -out server.key 1024

b. 生成server.csr ,Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.
openssl req -new -key server.key -out server.csr -config openssl.cnf

c. 对客户端也作同样的命令生成key及csr文件
openssl genrsa -des3 -out client.key 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf

d. CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢.
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf

e. 在bin目录下新建一个demoCA文件夹,进入它 
新建newcerts文件夹,不需要进入 
新建index.txt 
新建serial,打开后输入01保存即可

f. 用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

g. 生成一个ca.pfx,打开IE浏览器-》工具-》Internet选项-》内容-》证书,按照提示导入,这里要输入刚才生成 .pfx 过程中输入的密码 
openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx.

h.在httpd.conf中找到下面这句话 #LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 取消注释(删掉前面的"#")

i.openssl rsa -in server.key -out server.key
把生成的server.key复制到conf目录下覆盖 然后打开httpd-ssl.conf 找到SSLPassPhraseDialog builtin 在前面加上#

重启apache即可https访问项目。
备注:
1、cmd命令界面图示例:


img_77a97ee1bc44cb1b88c495259f53245b.png

2、刚刚下载的PHP有两个ini文件,他们的区别是


img_5f3166126a33c20728c31c02801c7f22.png

3、上面有个在IE导入证书的我也不知道是什么来的,效果图:
img_ad44ce0ff4e076795ed88d0f8f696b62.png

img_2326a6b2058d76d724efd375f377604b.png

访问的效果图:
img_d16cc9b93f130c19fd40ac3a5a0a6996.png
img_4ea87f8c94e25022fcaf5448d6d8370d.png

在上面的F步骤之中可能出现的错误是:


img_e90bd15b1cd1df271954919b09473965.jpe

解决办法:进入demoCA,然后打开index.txt.attr,把它修改成unique_subject = no就可以了
img_60c30654f762228d59cd1457c60adf2e.png

摘自:

http://blog.csdn.net/wlmnzf/article/details/50244409
http://blog.csdn.net/wlmnzf/article/details/50229407
http://www.cnblogs.com/GaZeon/p/6214915.html#ys

现在想知道 httpd.conf 和 \extra\httpd-vhosts.conf 和 \extra\httpd-ssl.conf的关系吗?就是配置文件啊,两个个是配置HTTP的,还有一个是配置HTTPS协议的。

相关文章
|
6月前
|
人工智能 Ubuntu 前端开发
Dify部署全栈指南:AI从Ubuntu配置到HTTPS自动化的10倍秘籍
本文档介绍如何部署Dify后端服务及前端界面,涵盖系统环境要求、依赖安装、代码拉取、环境变量配置、服务启动、数据库管理及常见问题解决方案,适用于开发与生产环境部署。
1325 1
|
10月前
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
934 87
|
7月前
|
Windows
Windows无法连接到打印机,请检查打印机名并重试 - 配置Windows 共享打印机出错;
WIN7共享打印机无法被WIN11连接,出现错误代码0x0000011b或0x00000709,可能是系统版本不兼容所致。本文提供多个轻量级修复工具,无需安装,双击即用,专为解决此类小问题设计,操作简单,适合普通用户快速修复打印机连接异常。
920 0
|
5月前
|
网络安全 开发工具 git
在GitLab CI中同步HTTPS仓库地址的yaml配置
最后,提交并推送 `.gitlab-ci.yml`文件到您的GitLab仓库。GitLab CI/CD将自动识别这个文件,并在每次推送到 `master`分支时执行定义的同步任务。
258 16
|
8月前
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
8月前
|
C语言 图形学 Windows
Windows下安装和配置GTK4(基于CLion)
本文介绍了作者选择GTK作为C语言图形库的原因,包括代码简洁、控件丰富和界面美观,并分享了在Windows环境下通过MSYS2安装GTK4及在CLion中配置开发环境的详细步骤。
883 0
|
8月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
240 2
|
11月前
|
安全 Windows
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
本文主要介绍了因清理电脑垃圾文件时误删虚拟内存导致的Windows页面文件配置问题,并提供了详细的解决步骤。问题表现为开机后出现临时页面文件创建的提示弹窗。解决方法包括通过控制面板或快捷键进入高级系统设置,进而调整虚拟内存设置:进入性能选项中的虚拟内存栏,选择自动管理所有驱动器的分页文件大小,最后确认并重启计算机以恢复正常运行。
8429 5
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
|
Windows
Windows下版本控制器(SVN)- 配置版本库
Windows下版本控制器(SVN)- 配置版本库
104 0
|
9月前
|
安全 Shell 开发工具
Windows下使用git配置gitee远程仓库
就在前几天因为一些原因,我的电脑重装了系统,然后再重新配置git的环境的时候就遇到了一些小问题。所以我决定自己写一篇文章,以便以后再配置git时,避免一些错误操作,而导致全网搜方法,找对的文章去找对应的解决方法。下面为了演示方便就拿gitee来演示,不拿GitHub了写文章了。
406 0

推荐镜像

更多