当前位置:

首页 > 编程开发 > XAMPP如何开启HTTPS访问 XAMPP生成自签名SSL证书

XAMPP如何开启HTTPS访问 XAMPP生成自签名SSL证书

启用XAMPP的HTTPS需启用Apache的ssl_module及httpd-ssl.conf。使用自带openssl生成自签名证书时需加-nodes参数,CommonName与域名一致。自定义域名需配置带SAN扩展的证书。最后强制HTTP跳转HTTPS,并将证书导入系统受信任根证书颁发机构。

先说一个核心结论:你捣鼓了半天XAMPP,HTTPS 还是打不开?十有八九是 Apache 的 ssl_module 模块根本没启用。这事儿看着小,但坑不少。

往下看,从根儿上解决问题。

XAMPP如何开启HTTPS访问 XAMPP生成自签名SSL证书

确认 Apache 的 ssl_module 是否已启用

直接访问 https://localhost 失败,或者莫名其妙跳转到 XAMPP 控制面板首页——大概率是模块根本没加载。怎么检查?打开 XAMPP\apache\conf\httpd.conf,重点看这两行有没有被注释掉(行首有 # 就是被注释了):

  • LoadModule ssl_module modules/mod_ssl.so
  • Include conf/extra/httpd-ssl.conf

光把 mod_ssl.so 那行解开还不够,httpd-ssl.conf 这个配置文件也必须同步启用。否则,Apache 启动不会报错,但所有 HTTPS 请求都会被悄无声息地丢弃——这就是很多人“配了却打不开”的头号原因。

用 XAMPP 自带 openssl 生成自签名证书

千万别折腾第三方 OpenSSL,也别从网上随便抄个脚本就用。XAMPP 8.0 以上版本自带了 openssl.exe,路径在 C:\xampp\apache\bin\openssl.exe。用它生成的 PEM 格式证书,跟 Apache 的兼容性是最好的。

操作很简单:以管理员身份打开命令提示符(CMD),执行下面这行代码:

cd C:\xampp\apache\bin
openssl req -x509 -nodes -days 365 -newkey rsa:2048 ^
-keyout C:\xampp\apache\conf\ssl.key\server.key ^
-out C:\xampp\apache\conf\ssl.crt\server.crt

这里有三个关键点,一个都不能错:

  • -nodes 参数必须加:它代表“no DES”,也就是不给私钥加密。如果不加,Apache 启动时会卡在密码输入环节,而你根本没法在控制台里输入密码。
  • 输出路径必须跟配置文件一致:默认情况下,httpd-ssl.conf 里定义的 SSLCertificateFile 和 SSLCertificateKeyFile 路径就是 "conf/ssl.crt/server.crt" 和 "conf/ssl.key/server.key"。所以上面命令里的路径完全匹配,不用改。
  • Common Name 要填对:执行命令后,会有一个交互环节让你填写证书信息。其中 Common Name 这一项至关重要——必须填你实际访问的域名,比如 localhost 或者 myapp.test。浏览器在校验证书时,会拿它和你地址栏里的域名对比。

为本地域名配置带 SAN 的证书(非 localhost 场景)

如果你用的是 dev.example.local 这类自定义域名,光靠上面那条命令生成的证书就不够用了。现代浏览器一查,发现证书里没有 Subject Alternative Name (SAN) 字段,立刻弹出“不安全”警告。这个字段,默认的 req 命令是不会帮你写的。

解决方法也不复杂:手动写一个 openssl.cnf 配置文件,放在 C:\xampp\apache\bin\ 目录下就行。文件内容像下面这样,重点在于 [alt_names] 部分:

[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no

[req_distinguished_name]
C = CN
ST = Beijing
L = Beijing
O = DevTeam
CN = dev.example.local

[v3_req]
subjectAltName = @alt_names

[alt_names]
DNS.1 = dev.example.local
DNS.2 = www.dev.example.local
IP.1 = 127.0.0.1

写好之后,在 CMD 里运行下面这条命令:

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 ^
-config dev.example.local.cnf ^
-keyout dev.example.local.key ^
-out dev.example.local.crt

生成的两个文件,分别放到 conf/ssl.key/ 和 conf/ssl.crt/ 目录里。然后打开 httpd-ssl.conf,在对应的 块里,把证书和密钥的路径改成你刚生成的文件名。

强制 HTTP 跳转 HTTPS 并绕过浏览器警告

证书配好,不等于用户会自动走 HTTPS。要在 httpd-ssl.conf 里对应的 块中,加上一条重定向规则(前提是 mod_rewrite 模块已启用):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]

不过,服务器端的配置只能决定流量怎么走,浏览器对自签名证书的警告,它管不了。这个警告必须手动消除:把你生成的 server.crt(或 dev.example.local.crt)文件,导入到 Windows 的“受信任的根证书颁发机构”存储区。Windows 上操作很简单:双击证书文件 → “安装证书” → 选择“本地计算机” → 选择“将所有证书放入下列存储”,然后浏览到“受信任的根证书颁发机构”。这一步要是漏了,每次访问时都去点“高级 → 继续前往”,那就白费功夫了。

必须提醒一句:证书里的 Common Name 和 SAN、Apache 配置里的 ServerName、hosts 文件里映射的域名、浏览器地址栏里打出的地址——这四个玩意儿必须完全一致,差一个字符,浏览器都会报证书错误。很多时候,问题不是配置多复杂,而是每一处细节都没有真正对得上。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
XAMPP 组件升级讨论:PHP 8.2.12、Apache 2.4.58、MariaDB 10.4.32 等
XAMPP 组件升级讨论:PHP 8.2.12、Apache 2.4.58、MariaDB 10.4.32 等

XAMPP组件更新讨论涉及PHP8.2.12版本、Apache2.4.58版本、MariaDB10.4.32版本等核心部件升级,并包含phpMyAdmin5.2.1版本、OpenSSL3.1.3版本、curl8.4.0_6版本及Tomcat8.5.96版本。社区活跃度稳定,本次更新侧重安全修复,针对多个安全漏洞,建议本地开发环境升级以提升安全性和稳定性。

Reddit 讨论:2026年还应该使用 XAMPP 吗?社区观点汇总
Reddit 讨论:2026年还应该使用 XAMPP 吗?社区观点汇总

到了2026年,绝大多数用户虽然仍认可XAMPP在快速原型开发中和对新手教学方面的价值,但更加倾向于推荐Docker、Laragon等现代工具,因为它们在环境隔离性方面表现更为出色,更适合专业团队进行项目开发与使用。

XAMPP 从 PHP 8.2 升级到 8.4 教程:手动升级完整指南
XAMPP 从 PHP 8.2 升级到 8.4 教程:手动升级完整指南

XAMPP 默认的 PHP 版本还是 8.2,这已经跟不上现代开发的需求了。如果你想让本地环境跑得更快、更顺手,直接在 XAMPP 里手动升级到 PHP 8.4 是个靠谱的选择——而且完全不用担心搞坏 Apache 配置或已有的项目。下面这份指南,就是一步步带你走完这个流程,确保所有设置原封不动,整

XAMPP 8.2.12 \/ 8.1.25 \/ 8.0.30 正式发布:组件全面升级
XAMPP 8.2.12 \/ 8.1.25 \/ 8.0.30 正式发布:组件全面升级

XAMPP 又更新了!这次终于等来了 Windows 平台的新版本,一口气支持了 PHP 8.2.12、8.1.25 和 8.0.30 三个版本。Linux 和 macOS 的版本也会很快跟上,大家可以先关注 Windows 的更新。 来看看具体都更新了哪些组件——安装包内集成了以下核心软件: PH

XAMPP 环境下安装 Magento 2 电子商务平台的配置要求详解
XAMPP 环境下安装 Magento 2 电子商务平台的配置要求详解

在XAMPP上部署Magento 2.4.x,其实是一件需要细心对待的事情。很多开发者兴致勃勃地开始,结果卡在第一步——不是配置错了,而是XAMPP自带的PHP版本或扩展缺失。官方要求PHP 8.1–8.3,XAMPP 8.2.x默认配的是PHP 8.2.0,看似合规,但php.ini里关键扩展常被

如何在本地 XAMPP 环境中模拟 Cron Jobs 定时任务
如何在本地 XAMPP 环境中模拟 Cron Jobs 定时任务

XAMPP本地环境因架构缺失不支持CronJobs,最可靠的替代方案是使用Windows任务计划程序调用PHPCLI脚本,需注意路径、权限及PHPCLI与WebSAPI的配置差异,脚本应使用绝对路径和显式数据库连接,并务必记录日志以确认执行状态。

XAMPP 下 MySQL 数据库 root 密码丢失后的重置方法
XAMPP 下 MySQL 数据库 root 密码丢失后的重置方法

XAMPP中MySQLroot密码丢失,无需重装。停止服务,以管理员身份运行CMD,进入bin目录执行mysqld--skip-grant-tables启动安全模式。另开窗口无密码登录,用ALTERUSER命令更新密码,再执行FLUSHPRIVILEGES并重启服务即可。

XAMPP中Apache无法启动该如何排查与修复
XAMPP中Apache无法启动该如何排查与修复

Apache启动失败多因端口占用、配置错误或环境问题。可用Netstat检查端口,修改httpd.conf中Listen、ServerName及虚拟主机三处端口,同步调整SSL配置;还需检查注册表路径、VC运行库及防火墙权限,确保无冲突即可修复。

XAMPP环境下部署DedeCMS XAMPP目录读写权限设置
XAMPP环境下部署DedeCMS XAMPP目录读写权限设置

权限这事儿,在DedeCMS和XAMPP的组合下,比你想的还要敏感。直接上chmod 777 -R?那是给自己找麻烦。 在XAMPP里折腾DedeCMS,真正需要的不是一股脑儿地给权限,而是按目录功能精准赋权,同时必须搞定Web服务器用户(通常就是daemon或www-data)的所有权。先给出一个

如何在 XAMPP 中启用 Apache 的 mod_headers 模块设置安全头
如何在 XAMPP 中启用 Apache 的 mod_headers 模块设置安全头

XAMPP自带mod_headers但未激活,需在httpd.conf取消LoadModule注释,执行httpd-t检查语法后重启Apache。在Directory或VirtualHost中用Headeralwaysset配置安全头,避免使用.htaccess。用浏览器开发者工具验证响应头是否生效。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。