温馨提示×

centos apache如何开启https

小樊
43
2026-09-24 05:39:12
栏目: 智能运维

在 CentOS 上通过 Apache 开启 HTTPS,一般步骤如下(以 CentOS 7/8 为例,使用 mod_ssl):


一、安装 Apache 和 SSL 模块

1. 安装 httpd 和 mod_ssl

yum install -y httpd mod_ssl

(CentOS 8 可用 dnf)

2. 启动并设置开机自启

systemctl start httpd
systemctl enable httpd

二、准备 SSL 证书

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

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

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

将证书文件放到:

  • 证书:/etc/pki/tls/certs/yourdomain.crt
  • 私钥:/etc/pki/tls/private/yourdomain.key
  • 中间证书(如有):/etc/pki/tls/certs/chain.crt

三、配置 Apache 启用 HTTPS

1. 编辑 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/chain.crt
</VirtualHost>

四、防火墙放行 HTTPS

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

五、重启 Apache

systemctl restart httpd

六、验证

浏览器访问:

https://你的域名或IP

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

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

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

然后:

systemctl restart httpd

如果你用的是 CentOS Stream / Rocky / Alma,或需要 Let’s Encrypt 免费证书,我可以继续补充。

0 踩