在 CentOS 上搭建的 LAMP 环境(Apache + PHP + MySQL) 中开启 SSL(HTTPS),一般步骤如下(以 CentOS 7/8 为例,使用 Apache):
Apache 默认一般已带 mod_ssl,如果没有就安装:
yum install mod_ssl openssl -y
安装后会生成:
/etc/httpd/conf.d/ssl.conf/etc/pki/tls/certs//etc/pki/tls/private/yum install epel-release -y
yum install certbot python2-certbot-apache -y
certbot --apache
按提示输入域名,会自动:
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/pki/tls/private/apache.key \
-out /etc/pki/tls/certs/apache.crt
按提示填写信息即可。
编辑或新建配置文件:
vim /etc/httpd/conf.d/ssl.conf
示例配置:
<VirtualHost *:443>
ServerName www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/apache.crt
SSLCertificateKeyFile /etc/pki/tls/private/apache.key
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
systemctl restart httpd
在网站配置中加入:
<VirtualHost *:80>
ServerName www.example.com
RewriteEngine On
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</VirtualHost>
浏览器访问:
https://你的域名
如果你告诉我:
我可以给你更精准的配置示例。