XAMPP服务器使用Let's Encrypt安装SSL证书路径指向错误如何解决
配置XAMPP加载Certbot生成的SSL证书步骤
- 第一步:关闭并禁用系统自带Apache服务,避免端口冲突
sudo systemctl stop apache2 sudo systemctl disable apache2
- 第二步:开启XAMPP Apache的SSL模块加载
打开XAMPP主配置文件/opt/lampp/etc/httpd.conf,找到以下两行,删除行首的#注释符:
LoadModule ssl_module modules/mod_ssl.so Include etc/extra/httpd-ssl.conf
- 第三步:修改SSL配置关联证书
打开/opt/lampp/etc/extra/httpd-ssl.conf文件,修改以下三个配置项为对应证书路径:
SSLCertificateFile "/etc/letsencrypt/live/ploshop.co.in/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/ploshop.co.in/privkey.pem" # 旧版Apache需要单独指定证书链可增加以下配置 SSLCertificateChainFile "/etc/letsencrypt/live/ploshop.co.in/chain.pem"
同时你可以在该配置文件中修改网站根目录、域名等信息匹配你的业务需求。
- 第四步:配置HTTP强制跳转HTTPS(可选,之前Certbot配置的跳转是针对系统Apache的,需要重新配置到XAMPP)
打开/opt/lampp/etc/httpd.conf,确保重写模块已开启(删除行首#):
LoadModule rewrite_module modules/mod_rewrite.so
在你的网站根目录下新建.htaccess文件,添加以下规则:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- 第五步:重启XAMPP服务生效配置
sudo /opt/lampp/lampp restart
- 第六步:配置证书自动续订钩子,避免续订后不生效
编辑Certbot续订配置文件/etc/letsencrypt/renewal/ploshop.co.in.conf,在[renewalparams]块下添加以下配置:
renew_hook = /opt/lampp/lampp restartapache
配置完成后可执行测试命令验证续订逻辑正常:
sudo certbot renew --dry-run
注意:如果重启XAMPP Apache时出现证书权限报错,可执行以下命令授权Apache运行用户读取证书目录:
sudo chmod -R 755 /etc/letsencrypt/live /etc/letsencrypt/archive
内容的提问来源于stack exchange,提问作者sk. nurujjaman
相关产品推荐
相关产品推荐

