最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
怎样安装并配置 Apache 的 mod_ssl 模块
时间:2026-07-15 19:36:49 编辑:袖梨 来源:一聚教程网
Apache默认不带HTTPS能力,mod_ssl是必需扩展模块;需确认加载、配好证书路径、监听443端口并放行防火墙,无需重编译或正式证书,3分钟可建含TLS1.2/1.3的测试环境。
Apache 默认不带 HTTPS 能力,mod_ssl 是启用加密连接的必需模块。它不是独立软件,而是 Apache 的扩展组件,依赖 OpenSSL 实现 TLS 加密。安装和配置的关键在于确认模块已加载、证书路径正确、443 端口监听明确,且防火墙放行——整个过程无需重编译,也不必等待正式证书。
确认或启用 mod_ssl 模块
多数 Linux 发行版中,mod_ssl 是独立软件包,不会随 Apache 主程序默认安装。
-
Ubuntu/Debian:运行
sudo apt update && sudo apt install apache2 openssl libapache2-mod-ssl,再执行sudo a2enmod ssl启用模块 -
CentOS/RHEL 7+(含 Rocky/AlmaLinux):运行
sudo yum install mod_ssl openssl或sudo dnf install mod_ssl openssl;安装后会自动生成/etc/httpd/conf.d/ssl.conf并自动启用 -
验证是否就绪:执行
sudo apachectl -M | grep ssl(Debian/Ubuntu)或sudo httpd -M | grep ssl(RHEL/CentOS),输出含ssl_module (shared)即表示成功加载
准备证书文件(测试可用自签名)
生产环境建议使用 CA 签发证书,测试阶段可快速生成带 SAN 的自签名证书,现代浏览器仅提示“证书不受信任”,不会标记为“不安全”。
- 创建目录:
sudo mkdir -p /etc/ssl/private /etc/ssl/certs - 生成私钥(4096 位):
sudo openssl genrsa -out /etc/ssl/private/server.key 4096 - 生成证书(含 localhost 和 127.0.0.1):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/ssl/private/server.key -out /etc/ssl/certs/server.crt -subj "/CN=localhost" -addext "subjectAltName = DNS:localhost,IP:127.0.0.1" - 设置权限(必须):
sudo chmod 600 /etc/ssl/private/server.key(私钥严禁全局可读)
配置 HTTPS 虚拟主机
Apache 不会自动监听 443 端口,也不能复用 HTTP 的 <VirtualHost> 块。必须显式定义一个监听 443 的虚拟主机,并启用 SSL 引擎。
- 编辑默认 SSL 配置文件:
• Ubuntu/Debian:/etc/apache2/sites-available/default-ssl.conf
• CentOS/RHEL:/etc/httpd/conf.d/ssl.conf - 确保以下配置项已取消注释并填写正确路径:
SSLEngine onSSLCertificateFile /etc/ssl/certs/server.crtSSLCertificateKeyFile /etc/ssl/private/server.key - 检查主配置中是否已声明监听:
Listen 443(若无,请在/etc/apache2/ports.conf或/etc/httpd/conf/httpd.conf中添加)
启动与验证
完成配置后需重启服务,并确认端口与防火墙状态。
- 重启 Apache:
• Ubuntu/Debian:sudo systemctl restart apache2
• CentOS/RHEL:sudo systemctl restart httpd - 检查 443 端口是否监听:
sudo ss -tlnp | grep :443 - 放行防火墙:
• Ubuntu:sudo ufw allow 443
• CentOS/RHEL:sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload - 浏览器访问
https://localhost或服务器 IP,应显示连接已加密(地址栏有锁形图标)
相关文章
- 耐玩的双人游戏无广告推荐 2026免费的双人游戏无广告盘点 07-15
- 适合小学生玩的游戏推荐 2026小学生喜欢玩的游戏合集 07-15
- 日式rpg游戏合集 2026最受欢迎的日式rpg游戏大盘点 07-15
- 濡沫江湖洛阳郊外隐藏宝箱具体位置一览 07-15
- 暗黑破坏神4怎么堆叠减伤 暗黑破坏神4堆减伤攻略 07-15
- tavo角色卡怎么导入 07-15