运维

运维

Products

当前位置:首页 > 运维 >

如何在CentOS上配置Apache SSL证书?

96SEO 2025-10-28 06:06 0


一、 目标

在CentOS 7.6平台下使用OpenSSL给Apache做自签名证书,并给Apache设置HTTPS的SSL证书。

Apache在CentOS中如何配置SSL证书

二、 平台

# uname -r
3.10.0-957.el7.x86_64
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 
# rpm -qa |grep httpd
httpd-tools-2.4.6-90.el7.centos.x86_64
httpd-2.4.6-9.el7.centos.x86_64

三、安装Apache和SSL模块

先说说确保你已经安装了Apache HTTP服务器和相关的SSL模块。你可以使用以下命令来安装它们:

sudo yum install httpd mod_ssl

四、 获取SSL证书

你可以通过多种方式获取SSL证书,包括从Let’s Encrypt免费获取、购买商业证书或使用自签名证书。

本教程将使用OpenSSL生成自签名证书。

五、 生成自签名证书

在Apache安装目录下创建cert目录,并将以下命令保存为生成自签名证书的脚本:

sudo vi /etc/httpd/cert/generate_ssl.sh
#!/bin/bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/cert/apache.key -out /etc/httpd/cert/apache.crt
echo "Self-signed SSL certificate generated successfully."

运行脚本生成自签名证书:

sudo chmod +x /etc/httpd/cert/generate_ssl.sh
sudo ./generate_ssl.sh

六、配置Apache SSL虚拟主机

编辑Apache的配置文件来设置SSL虚拟主机。

sudo vi /etc/httpd/conf.d/ssl.conf

    ServerAdmin webmaster@localhost
    DocumentRoot "/var/www/html"
    SSLEngine on
    SSLCertificateFile /etc/httpd/cert/apache.crt
    SSLCertificateKeyFile /etc/httpd/cert/apache.key
    SSLCipherSuite HIGH:!aNULL:!MD5
    SSLHonorCipherOrder on
    SSLProtocol all -SSLv2 -SSLv3
    
        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule ^$ https://%{HTTP_HOST}%{REQUEST_URI} 
    

七、 重启Apache服务

保存并关闭文件后重启Apache服务以应用更改:

sudo systemctl restart httpd

八、验证SSL配置

你可以使用浏览器访问你的域名,检查是否显示了平安的连接。你也可以使用以下命令来验证SSL配置:

sudo openssl s_client -connect yourdomain.com:443

这将显示SSL连接的详细信息,包括证书链。

九、 使用Certbot获取证书

如果你选择使用Let’s Encrypt,可以使用Certbot工具来自动化这个过程:

sudo yum install certbot python2-certbot-apache
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

Certbot会自动配置Apache并启用SSL。

十、

通过以上步骤,你应该能够在CentOS系统中成功配置Apache以使用SSL证书。


标签: CentOS

提交需求或反馈

Demand feedback