在 CentOS 上,Apache 的服务名通常是 httpd(不是 apache2,apache2 是 Debian/Ubuntu 的叫法)。下面以 CentOS 7/8 为例说明如何开启 SSL。
yum install mod_ssl openssl -y
安装完成后会生成:
/etc/httpd/conf.d/ssl.conf/etc/httpd/modules/mod_ssl.soopenssl req -new -x509 -days 365 -nodes \
-keyout /etc/pki/tls/private/server.key \
-out /etc/pki/tls/certs/server.crt
将:
server.crtserver.keychain.crt放到:
/etc/pki/tls/certs/
/etc/pki/tls/private/
编辑:
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/chain.crt
</VirtualHost>
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
systemctl restart httpd
systemctl enable httpd
浏览器访问:
https://你的域名或IP
查看端口:
ss -lntp | grep 443
在 /etc/httpd/conf/httpd.conf 或站点配置中:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
如果你用的是 CentOS Stream / Rocky / Alma 或 Let’s Encrypt(certbot),我也可以给你对应步骤。