Mac OS下XAMPP的SSL证书更新及HTTPS访问故障解决求助
解决XAMPP Apache HTTPS证书过期无法访问的问题
我之前也碰到过一模一样的情况——默认证书过期后现代浏览器直接拒绝访问,重装XAMPP根本没用,因为它自带的默认证书本来就是2010年就过期的老文件。下面是几个亲测有效的解决办法,按实用性排序:
方法一:生成新的自签名证书(本地开发首选)
这是最常用的方案,适合本地调试场景,步骤也简单:
- 先备份旧证书:找到XAMPP的Apache证书目录,一般是
xampp/apache/conf/ssl.crt和xampp/apache/conf/ssl.key,把里面的server.crt和server.key重命名为server.crt.old和server.key.old做备份。 - 生成新证书:打开XAMPP自带的Shell(或者系统终端,前提是能访问XAMPP的OpenSSL,路径在
xampp/apache/bin/openssl.exe),运行以下命令:
这个命令会生成有效期10年的证书,过程中需要填写国家、组织名等信息,随便填就行,本地开发不影响验证。openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 3650 -nodes - 替换证书:把生成的
server.key和server.crt分别复制到ssl.key和ssl.crt目录下。 - 重启Apache:现在访问HTTPS时浏览器会提示“不安全”,但你可以手动信任这个证书(比如Chrome点「高级」→「继续访问」),之后就能正常使用了。
方法二:使用Let's Encrypt免费证书(公网服务适用)
如果你的XAMPP服务器是公网可访问的,推荐用这个方案,证书自动续期,不用再担心过期问题:
- 下载Certbot工具,按照引导获取Let's Encrypt证书。
- 修改Apache的
httpd-ssl.conf配置文件,把SSLCertificateFile和SSLCertificateKeyFile的路径替换成Certbot生成的证书路径。 - 重启Apache,之后浏览器会显示正常的安全锁标识。
方法三:临时修改浏览器设置(仅限紧急测试)
这个方法不推荐长期用,有安全风险,但如果只是临时调试可以试试:
- Chrome:关闭所有Chrome窗口后,用命令行启动并添加参数:
chrome.exe --ignore-certificate-errors - Firefox:在地址栏输入
about:config,搜索security.cert_pinning.enforcement_level并设为0,或者security.enterprise_roots.enabled设为true。
我自己用第一种方法解决的,生成新证书后就完全恢复正常了,你可以优先试试这个方案。
内容的提问来源于stack exchange,提问作者kalution98
相关产品推荐
相关产品推荐

