温馨提示×

Apache虚拟主机在CentOS上如何配置SSL

小樊
45
2025-09-26 10:35:30
栏目: 云计算

在CentOS上配置Apache虚拟主机的SSL,可以按照以下步骤进行:

1. 安装必要的软件包

首先,确保你的系统是最新的,并安装Apache和SSL相关的软件包。

sudo yum update -y
sudo yum install -y httpd mod_ssl openssl

2. 生成SSL证书

你可以使用自签名证书或者从CA(证书颁发机构)获取证书。这里我们以生成自签名证书为例。

生成私钥

sudo openssl genrsa -out /etc/pki/tls/private/yourdomain.com.key 2048

生成证书签名请求(CSR)

sudo openssl req -new -key /etc/pki/tls/private/yourdomain.com.key -out /etc/pki/tls/certs/yourdomain.com.csr

在生成CSR时,你需要填写一些信息,如国家、组织名称等。

生成自签名证书

sudo openssl x509 -req -days 365 -in /etc/pki/tls/certs/yourdomain.com.csr -signkey /etc/pki/tls/private/yourdomain.com.key -out /etc/pki/tls/certs/yourdomain.com.crt

3. 配置Apache虚拟主机

编辑Apache的配置文件来设置SSL虚拟主机。通常,这些文件位于/etc/httpd/conf.d/目录下。

创建一个新的SSL配置文件

sudo vi /etc/httpd/conf.d/yourdomain.com.conf

添加以下内容到配置文件中

<VirtualHost *:443>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com

    DocumentRoot /var/www/html/yourdomain.com

    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/yourdomain.com.crt
    SSLCertificateKeyFile /etc/pki/tls/private/yourdomain.com.key

    <Directory /var/www/html/yourdomain.com>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/yourdomain.com-error_log
    CustomLog /var/log/httpd/yourdomain.com-access_log combined
</VirtualHost>

4. 启用SSL模块和虚拟主机

确保SSL模块和你的虚拟主机配置文件已启用。

sudo systemctl enable httpd
sudo systemctl start httpd

5. 测试配置

打开浏览器并访问https://yourdomain.com,你应该能看到你的网站,并且浏览器会显示一个安全警告,因为这是一个自签名证书。

6. 可选:使用Let’s Encrypt获取免费SSL证书

如果你希望使用Let’s Encrypt获取免费的SSL证书,可以使用Certbot工具。

安装Certbot

sudo yum install -y certbot python2-certbot-apache

获取并安装证书

sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

按照提示完成证书的获取和安装过程。

7. 配置自动续期

Certbot会自动配置一个cron任务来定期续期证书。

sudo systemctl status certbot.timer

通过以上步骤,你就可以在CentOS上成功配置Apache虚拟主机的SSL了。

0