在 CentOS 上通过 Apache 开启 HTTPS,一般步骤如下(以 CentOS 7/8 为例,使用 mod_ssl):
yum install -y httpd mod_ssl
(CentOS 8 可用 dnf)
systemctl start httpd
systemctl enable httpd
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.crtvi /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>
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
systemctl restart httpd
浏览器访问:
https://你的域名或IP
在 /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 免费证书,我可以继续补充。