温馨提示×

centos apache2怎么配ssl

小樊
46
2026-09-15 02:11:50
栏目: 云计算

在 CentOS 上,Apache 通常叫 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面以 CentOS 7/8 + httpd 为例,说明如何配置 SSL(HTTPS)。


一、安装 Apache 和 SSL 模块

# CentOS 7
yum install httpd mod_ssl -y

# CentOS 8 / Stream
dnf install httpd mod_ssl -y

安装后:

  • 主配置文件:/etc/httpd/conf/httpd.conf
  • SSL 配置:/etc/httpd/conf.d/ssl.conf

二、准备 SSL 证书

方式 1:使用 Let’s Encrypt(推荐)

yum install certbot python3-certbot-apache -y
certbot --apache -d example.com -d www.example.com

证书会自动配置并续期。


方式 2:使用自有证书

假设证书文件:

/etc/ssl/certs/example.com.crt
/etc/ssl/private/example.com.key

三、配置 SSL 虚拟主机

编辑或新建:

vi /etc/httpd/conf.d/ssl.conf

示例配置:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    # 如果是 CA 证书链
    # SSLCertificateChainFile /etc/ssl/certs/ca-bundle.crt

    <Directory /var/www/html>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

四、HTTP 强制跳转到 HTTPS(可选)

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>

五、防火墙放行 HTTPS

firewall-cmd --permanent --add-service=https
firewall-cmd --reload

六、启动并设置开机自启

systemctl start httpd
systemctl enable httpd

七、测试配置并访问

httpd -t

浏览器访问:

https://example.com

如果你用的是 CentOS 9 / Rocky / Alma 或 Nginx 混用,或 多个域名 SSL,可以告诉我,我可以给你更具体的配置。

0 踩