温馨提示×

centos apache2怎样开启ssl

小樊
36
2026-10-03 00:51:17
栏目: 云计算

在 CentOS 上,Apache 的服务名通常是 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面以 CentOS 7/8 为例说明如何开启 SSL。


一、安装 mod_ssl

yum install mod_ssl openssl -y

安装完成后会生成:

  • /etc/httpd/conf.d/ssl.conf
  • /etc/httpd/modules/mod_ssl.so

二、准备 SSL 证书

1️⃣ 使用自签名证书(测试用)

openssl req -new -x509 -days 365 -nodes \
-keyout /etc/pki/tls/private/server.key \
-out /etc/pki/tls/certs/server.crt

2️⃣ 使用 CA 签发证书(生产环境)

将:

  • 证书:server.crt
  • 私钥:server.key
  • 中间证书(可选):chain.crt

放到:

/etc/pki/tls/certs/
/etc/pki/tls/private/

三、配置 SSL(修改 ssl.conf)

编辑:

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

关键配置示例:

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

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/private/server.key
    # SSLCertificateChainFile /etc/pki/tls/certs/chain.crt
</VirtualHost>

四、放行防火墙

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

五、启动 / 重启 Apache

systemctl restart httpd
systemctl enable httpd

六、验证

浏览器访问:

https://你的域名或IP

查看端口:

ss -lntp | grep 443

七、可选:HTTP 跳转 HTTPS

在 /etc/httpd/conf/httpd.conf 或站点配置中:

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

如果你用的是 CentOS Stream / Rocky / Alma 或 Let’s Encrypt(certbot),我也可以给你对应步骤。

0 踩