ssl新闻资讯

文档中心

PHPStudy閰嶇疆SSL璇佷功瀹炵幇鏈湴HTTPS璁块棶鐨勮缁嗘暀绋?txt

时间 : 2025-09-27 16:29:36浏览量 : 3

2PHPStudy閰嶇疆SSL璇佷功瀹炵幇鏈湴HTTPS璁块棶鐨勮缁嗘暀绋?txt

在当今互联网环境中,HTTPS已经成为网站安全的标准配置。作为开发者,我们经常需要在本地开发环境中模拟HTTPS环境进行测试。本文将详细介绍如何在PHPStudy环境下配置SSL证书,实现本地HTTPS访问的全过程。

一、为什么需要本地HTTPS环境?

很多开发者可能会有疑问:"我只是在本地开发,为什么还需要配置HTTPS?"其实原因有很多:

1. 现代浏览器安全策略:Chrome等现代浏览器对一些API(如地理位置、摄像头等)要求必须通过HTTPS调用

2. 前后端分离开发:如果你的前端项目运行在一个端口(如3000),后端API在另一个端口(如80),跨域请求会遇到问题

3. 微信小程序开发:微信小程序要求所有接口必须是HTTPS协议

4. Cookie安全设置:Secure标志的Cookie只能在HTTPS下传输

举个例子:假设你正在开发一个使用WebRTC的视频聊天应用。在现代浏览器中,如果不使用HTTPS,你甚至无法调用摄像头和麦克风API。

二、准备工作

在开始配置前,我们需要准备以下工具和材料:

1. PHPStudy最新版本(本文以PHPStudy Pro为例)

2. OpenSSL工具(PHPStudy已内置)

3. 一个文本编辑器(推荐Notepad++或VS Code)

三、生成SSL证书

方法一:使用PHPStudy自带的证书生成工具

1. 打开PHPStudy主界面

2. 点击左侧"网站"菜单

3. 选择你要配置的站点,点击"管理"->"修改"

4. 在弹出的窗口中切换到"SSL"选项卡

5. 勾选"启用SSL",然后点击"一键生成证书"

这种方法最简单快捷,适合大多数开发场景。

方法二:手动生成证书(更灵活)

如果你想自定义证书信息,或者需要特定域名的证书,可以手动生成:

1. 打开命令提示符(cmd)

2. 导航到PHPStudy安装目录下的Extensions/OpenSSL/bin文件夹

3. 执行以下命令生成私钥:

```

openssl genrsa -out localhost.key 2048

4. 创建CSR配置文件localhost.csr.cnf:

[req]

default_bits = 2048

prompt = no

default_md = sha256

distinguished_name = dn

[dn]

C=CN

ST=Beijing

L=Beijing

O=Localhost Inc.

OU=IT Department

emailAddress=admin@localhost.com

CN = localhost

5. 创建扩展配置文件localhost.ext:

authorityKeyIdentifier=keyid,issuer

basicConstraints=CA:FALSE

keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment

subjectAltName = @alt_names

[alt_names]

DNS.1 = localhost

DNS.2 = *.localhost

6. 生成CSR文件:

openssl req -new -key localhost.key -out localhost.csr -config localhost.csr.cnf

```

7. 最后生成自签名证书:

openssl x509 -req -in localhost.csr -signkey localhost.key -out localhost.crt -days 3650 -sha256 -extfile localhost.ext

这样就生成了三个关键文件:

- localhost.key (私钥)

- localhost.csr (证书签名请求)

- localhost.crt (自签名证书)

四、在PHPStudy中配置SSL

现在我们已经有了证书文件,接下来需要在PHPStudy中进行配置:

1. 复制证书文件:将生成的.key和.crt文件复制到一个安全的位置(建议放在phpstudy安装目录下的cert文件夹)

2. 修改站点配置

1) PHPStudy主界面 -> "网站"

2)选择你的站点 -> "管理" -> "修改"

3)切换到"SSL"选项卡

4)勾选"启用SSL"

5)点击右侧文件夹图标分别选择.crt和.key文件路径

3.重要设置

1)"强制HTTPS"(可选):开启后所有HTTP请求会自动跳转到HTTPS

2)"HTTP/2"(可选):如果需要HTTP/2支持可以勾选

4.保存并重启服务

五、常见问题解决

在实际操作过程中可能会遇到一些问题:

问题1:浏览器提示不安全连接

这是因为我们使用的是自签名证书而非受信任CA颁发的证书。解决方法:

- Chrome/Firefox:直接输入thisisunsafe(Chrome)或点击高级->继续访问(Firefox)

- Edge:点击详细信息->继续前往网页

- Safari:偏好设置->隐私->管理网站数据->添加localhost为始终允许

问题2:ERR_SSL_VERSION_OR_CIPHER_MISMATCH错误

这通常是因为Apache/Nginx的SSL协议版本不匹配。解决方法:

编辑httpd.conf或nginx.conf添加:

SSLCipherSuite HIGH:!aNULL:!MD5

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

问题3:部分资源加载失败(Mixed Content错误)

这是因为页面中有通过HTTP加载的资源。解决方法:

将所有资源URL改为相对路径或//开头

问题4:局域网其他设备无法访问

需要将DNS设置为局域网IP而非localhost

六、高级技巧

为多个域名配置SAN(Subject Alternative Name)

如果你需要同时支持多个域名(如test.local和api.test.local),可以在上面的第5步中修改ext文件:

[alt_names]

DNS.1 = test.local

DNS.2 = api.test.local

DNS.n = ...其他域名...

```

然后重新生成crt文件即可

使用mkcert工具简化流程

mkcert是一个简单的零配置工具用于制作本地可信的开发证书:

```bash

mkcert install

安装CA到系统信任库

mkcert example.com "*.example.com" example.test

一键生成多域名通配符可信证书

```

相比手动操作更加简便可靠

七、

通过本文的介绍你应该已经掌握了如何在PHPStudy环境下配置SSL实现本地HTTPS访问的关键步骤和技术要点主要包括:

1.SSL/TLS的基本原理和作用

2.PHPStudy环境下两种生成SSL证书的方法

3.Apache/Nginx服务器中的具体配置步骤

4.HTTPS调试过程中的常见问题和解决方案

虽然过程略显复杂但一旦掌握这项技能将为你的Web开发生涯带来诸多便利特别是在处理现代Web API和小程序开发时尤为重要

TAG:phpstudy配置ssl证书本地能访问,phpstudy搭建服务器只有本地能访问,php配置https,phpstudy配置外网访问,phpstudy配置域名访问站点