在 CentOS 上给 Apache 开启 SSL(HTTPS),一般步骤如下(以 CentOS 7/8 + Apache/httpd 为例):
# CentOS 7
yum install mod_ssl openssl -y
# CentOS 8 / Stream
dnf install mod_ssl openssl -y
安装后通常会生成:
/etc/httpd/conf.d/ssl.conf/etc/httpd/modules/mod_ssl.soopenssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/pki/tls/private/server.key \
-out /etc/pki/tls/certs/server.crt
将证书文件放到:
/etc/pki/tls/certs/你的域名.crt
/etc/pki/tls/private/你的域名.key
编辑 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/server.crt
SSLCertificateKeyFile /etc/pki/tls/private/server.key
# 若有中间证书
# SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
</VirtualHost>
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
(若关闭了 firewalld 可忽略)
systemctl restart httpd
systemctl enable httpd
浏览器访问:
https://你的域名或IP
查看是否出现锁标。
在网站配置中加入:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
如果你用的是 CentOS 版本不同 或 Apache 在宝塔/面板环境,可以告诉我,我给你对应配置。