Apache如何配置HTTPS?SSL证书安装与443端口完整教程(2026版)
Apache部署HTTPS通常需要启用mod\_ssl模块,并配置SSL证书文件、私钥及VirtualHost参数,实现网站HTTPS加密访问。同时建议开启301跳转HTTPS、HSTS及HTTP/2优化,提高网站安全性与SEO表现。

Apache如何配置HTTPS?
随着 HTTPS 成为现代网站的标准配置,越来越多的网站开始在 Apache 服务器上部署 SSL 证书。
如果网站仍使用 HTTP:
- 浏览器会提示“不安全”
- 用户信任度下降
- SEO表现可能受影响
- 登录与支付数据存在被窃取风险
而通过 Apache 配置 HTTPS 后:
网站即可实现:
- 数据加密传输
- HTTPS安全访问
- 浏览器安全锁显示
- 更好的搜索引擎友好度

如果您还不了解 HTTPS 与 SSL 的技术关联,建议先阅读 TopSSL 提供的 什么是 SSL 证书 科普及 HTTPS 与 HTTP 的区别解析 专题文章。
一、Apache配置HTTPS前需要准备什么?
部署 HTTPS 前,需要准备:
| 项目 | 说明 |
|---|---|
| 域名 | 已完成解析 |
| SSL证书 | CRT/PEM文件 |
| 私钥文件 | KEY文件 |
| Apache环境 | 已安装Apache |
| 开放443端口 | 防火墙/安全组允许 |
常见 Apache 环境包括:
- CentOS Apache
- Ubuntu Apache
- 宝塔 Apache
- Debian Apache
二、Apache启用SSL模块
Apache 默认可能未启用:
mod_ssl
需要先开启。
CentOS/RHEL安装mod_ssl
执行:
yum install mod_ssl -y
Ubuntu/Debian启用SSL模块
执行:
a2enmod ssl
然后重启 Apache:
systemctl restart apache2
三、Apache上传SSL证书文件
通常需要:
example.com.crt
example.com.key
ca_bundle.crt
建议存放目录:
/etc/httpd/ssl/
或者:
/etc/apache2/ssl/
不同系统路径可能不同。
四、Apache配置HTTPS VirtualHost
找到 Apache 配置文件:
常见位置:
/etc/httpd/conf/httpd.conf
或:
/etc/apache2/sites-enabled/
新增 HTTPS 配置:
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /www/wwwroot/example.com
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/example.com.key
SSLCertificateChainFile /etc/httpd/ssl/ca_bundle.crt
<Directory "/www/wwwroot/example.com">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
五、Apache开启443端口
HTTPS 默认使用:443端口,需要确认 Apache 已监听。
检查:
Listen 443
如果没有:
请手动添加。
六、防火墙开放443端口
CentOS:
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
Ubuntu:
ufw allow 443/tcp
如果使用云服务器还需开放:
- 阿里云安全组
- 腾讯云安全组
- 华为云安全组
否则 HTTPS 无法访问。
七、Apache强制HTTP跳转HTTPS
HTTPS 部署后建议强制跳转。
原因:
- 避免HTTP重复收录
- 提高SEO规范性
- 强制用户安全访问
Apache配置:
<VirtualHost *:80>
ServerName www.example.com
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>
这也是目前主流网站的标准方案。
八、Apache开启HTTP/2
HTTP/2 可以:
- 提升网站速度
- 优化SEO体验
- 降低连接消耗
首先启用模块:
a2enmod http2
然后配置:
Protocols h2 http/1.1
现代浏览器均支持 HTTP/2。
九、Apache开启HSTS
HSTS 可以强制浏览器始终使用 HTTPS。
Apache配置:
Header always set Strict-Transport-Security "max-age=31536000"
作用:
- 防止SSL剥离攻击
- 强制HTTPS
- 提升安全等级
注意:开启后浏览器会长期缓存 HTTPS 策略。
十、Apache HTTPS配置完整示例
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /www/wwwroot/example.com
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/example.com.crt
SSLCertificateKeyFile /etc/httpd/ssl/example.com.key
SSLCertificateChainFile /etc/httpd/ssl/ca_bundle.crt
Protocols h2 http/1.1
Header always set Strict-Transport-Security "max-age=31536000"
</VirtualHost>
十一、如何测试Apache HTTPS是否成功?
执行:
apachectl configtest
如果出现:
Syntax OK
即可重启:
CentOS:
systemctl restart httpd
Ubuntu:
systemctl restart apache2
十二、Apache HTTPS常见错误
1、443端口无法访问
原因:
- 防火墙未放行
- Apache未监听443
- 云服务器安全组限制
2、证书不匹配
浏览器可能提示:NET::ERR_CERT_COMMON_NAME_INVALID
通常因为:
- 域名不一致
- 使用错误证书
3、证书链不完整
表现浏览器显示“不受信任”。
解决:
安装完整中间证书链。
4、HTTPS循环跳转
原因:
- CDN回源冲突
- Rewrite规则错误
- 反向代理配置异常
十三、Apache HTTPS对SEO有什么帮助?
HTTPS 已成为搜索引擎的重要信号。
开启 HTTPS 后:
- 消除“不安全”提示
- 提升用户信任
- 提高页面可信度
- 改善搜索引擎表现
Google 与百度均明确支持 HTTPS 网站。
总结:Apache如何正确开启HTTPS?
Apache 配置 HTTPS 的核心步骤包括:
- 启用 mod_ssl
- 配置证书文件
- 开启443端口
- 配置VirtualHost
- 强制HTTP跳转HTTPS
- 开启HTTP/2与HSTS
完成后网站即可实现:
- HTTPS加密
- 浏览器安全锁
- 更高的SEO友好度
- 更安全的数据传输
如果网站已正式运营,建议尽快完成 HTTPS 部署。
若您正在部署 HTTPS 或选购证书,可参考 TopSSL 提供的 SSL 证书科普 与 选购指南,或通过免费 SSL 证书申请及 安装教程 快速完成 HTTP 升级 HTTPS,并利用 错误修复大全 解决配置难题。
FAQ 常见问题
Apache配置HTTPS一定要443端口吗?
是。
HTTPS 默认使用 443 端口。
Apache如何开启HTTPS跳转?
可通过 RewriteRule 实现:
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
Apache支持HTTP/2吗?
支持。
启用 mod_http2 后即可使用。
Apache可以使用免费SSL证书吗?
可以。
大多数免费SSL证书均支持 Apache。
Apache HTTPS配置后网站打不开怎么办?
建议检查:
- 443端口
- SSL路径
- Apache配置文件
- 防火墙
- 域名解析



京公网安备11010502031690号
网站经营企业工商营业执照
















