centos

CentOS Apache2如何配置SSL证书

小樊
82
2025-02-08 11:12:05
栏目: 云计算

在CentOS上配置Apache2以使用SSL证书,您需要遵循以下步骤:

  1. 安装EPEL和mod_ssl包: 首先,您需要安装EPEL(Extra Packages for Enterprise Linux)存储库和mod_ssl模块,这是Apache用来支持SSL的模块。运行以下命令来安装它们:

    sudo yum install epel-release
    sudo yum install mod_ssl
    
  2. 创建SSL证书和私钥: 您需要一个SSL证书和相应的私钥。您可以使用自签名证书进行测试,但在生产环境中,您应该从受信任的证书颁发机构(CA)获取证书。要创建自签名证书,可以使用OpenSSL工具:

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
    

    这将生成一个名为apache-selfsigned.key的私钥文件和一个名为apache-selfsigned.crt的证书文件。

  3. 创建SSL配置文件: 在/etc/httpd/conf.d/目录下创建一个名为ssl.conf的新文件,并将以下内容粘贴到文件中:

    <VirtualHost *:443>
        ServerName yourdomain.com
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLCertificateFile /etc/pki/tls/certs/apache-selfsigned.crt
        SSLCertificateKeyFile /etc/pki/tls/private/apache-selfsigned.key
        SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
    
        <Directory /var/www/html>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
    

    请确保将yourdomain.com替换为您的域名,并将DocumentRoot指令设置为您的网站文档根目录。如果您使用的是自签名证书,还需要添加SSLCertificateChainFile指令,指向一个包含CA证书的ca-bundle.crt文件。您可以从证书颁发机构获取此文件,或者使用以下命令生成一个包含常见CA证书的ca-bundle.crt文件:

    sudo c_rehash /etc/pki/tls/certs/
    
  4. 启用SSL模块并重启Apache: 编辑/etc/httpd/conf/httpd.conf文件,找到以下行并取消注释以启用SSL模块:

    #LoadModule ssl_module modules/mod_ssl.so
    

    然后,重启Apache以应用更改:

    sudo systemctl restart httpd
    

现在,您的CentOS Apache2服务器应已配置为使用SSL证书进行HTTPS连接。请注意,由于我们使用的是自签名证书,浏览器可能会警告您证书不受信任。在生产环境中,您应该使用由受信任CA签发的证书。

0
看了该问题的人还看了