Apache如何配置HTTPS?

更新时间:2026-05-08 来源:TopSSL 作者:TopSSL

Apache如何配置HTTPS?SSL证书安装与443端口完整教程(2026版)

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

如何将网站从 HTTP 更改为 HTTPS?完整迁移指南

Apache如何配置HTTPS?

随着 HTTPS 成为现代网站的标准配置,越来越多的网站开始在 Apache 服务器上部署 SSL 证书

如果网站仍使用 HTTP:

  • 浏览器会提示“不安全”
  • 用户信任度下降
  • SEO表现可能受影响
  • 登录与支付数据存在被窃取风险

而通过 Apache 配置 HTTPS 后:

网站即可实现:

  • 数据加密传输
  • 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配置文件
  • 防火墙
  • 域名解析
有用
分享
无用
反馈
返回顶部
0 个回答
11 次浏览
立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn