温馨提示×

centos apache如何开启ssl

小樊
49
2026-09-02 22:15:20
栏目: 云计算

CentOS 上通过 Apache 开启 SSL(HTTPS),一般步骤如下(以 CentOS 7/8 为例,适用于大多数环境):


一、安装 Apache 与 SSL 模块

1. 安装 Apache

yum install httpd -y
# 或 CentOS 8
dnf install httpd -y

2. 安装 mod_ssl

yum install mod_ssl -y

安装后会自动生成:

  • /etc/httpd/conf.d/ssl.conf
  • 默认证书路径 /etc/pki/tls/

二、准备 SSL 证书

方式一:使用自签名证书(测试用)

openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/pki/tls/private/localhost.key \
-out /etc/pki/tls/certs/localhost.crt

方式二:使用正式证书(推荐)

将你的证书文件放到:

/etc/pki/tls/certs/yourdomain.crt
/etc/pki/tls/private/yourdomain.key
/etc/pki/tls/certs/yourdomain.ca-bundle(可选)

三、配置 Apache SSL 站点

编辑 SSL 配置文件:

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

修改关键配置:

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

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/yourdomain.crt
    SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.key
    SSLCertificateChainFile /etc/pki/tls/certs/yourdomain.ca-bundle
</VirtualHost>

四、防火墙放行 HTTPS

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

(若使用 iptables)

iptables -I INPUT -p tcp --dport 443 -j ACCEPT

五、启动并设置开机自启

systemctl start httpd
systemctl enable httpd

六、HTTP 跳转 HTTPS(可选)

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

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

七、验证是否成功

浏览器访问:

https://你的域名

查看证书是否生效。


常见问题

无法启动 Apache

journalctl -xe
httpd -t

SELinux 阻止

setsebool -P httpd_can_network_connect 1

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • Apache 版本
  • 是否使用 Let’s Encrypt

我可以给你更精确的配置示例。

0