温馨提示×

centos如何配置apachessl

小樊
41
2026-09-09 00:01:37
栏目: 云计算

在 CentOS 上配置 Apache 的 SSL(HTTPS),一般步骤如下(以 CentOS 7/8 + Apache(httpd) 为例):


一、安装 Apache 和 SSL 模块

# CentOS 7
yum install httpd mod_ssl -y

# CentOS 8
dnf install httpd mod_ssl -y

安装完成后:

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

二、准备 SSL 证书

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

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

方式 2:使用 CA 签发证书(生产)

将以下文件放到服务器:

  • 证书:/etc/pki/tls/certs/yourdomain.crt
  • 私钥:/etc/pki/tls/private/yourdomain.key
  • 中间证书(可选):/etc/pki/tls/certs/ca_bundle.crt

三、配置 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/ca_bundle.crt  # 如有
</VirtualHost>

四、开放防火墙端口

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

(若使用 iptables 自行放行 443)


五、启动并设置开机自启

systemctl start httpd
systemctl enable httpd

六、HTTP 强制跳转 HTTPS(可选)

ssl.conf 或新建配置文件:

<VirtualHost *:80>
    ServerName www.example.com
    RewriteEngine on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

确保加载了 rewrite 模块(默认一般已加载)。


七、验证

浏览器访问:

https://你的域名

查看证书是否生效。


如果你需要:

  • CentOS Stream / Rocky / Alma
  • 使用 Let’s Encrypt(certbot)
  • 多域名 / 泛域名 SSL

可以告诉我你的具体环境和需求。

0