Linux CentOS 安装 SSL

SSL(Secure Sockets Layer)是一种安全协议,用于在互联网上保护数据传输的安全性,在Linux CentOS系统中安装SSL,可以确保网站数据的安全传输,防止数据被窃取或篡改,本文将详细介绍如何在CentOS系统中安装SSL。
准备工作
确保系统已更新
在安装SSL之前,请确保您的CentOS系统已更新到最新版本,可以使用以下命令更新系统:
sudo yum update
安装Apache或Nginx
SSL通常与Apache或Nginx等Web服务器结合使用,请确保您的系统中已安装了相应的Web服务器,以下命令用于安装Apache:
sudo yum install httpd
对于Nginx,可以使用以下命令安装:
sudo yum install nginx
生成SSL证书
使用Let's Encrypt获取免费SSL证书
Let's Encrypt是一个提供免费SSL证书的CA(证书颁发机构),以下是在CentOS系统中使用Certbot获取免费SSL证书的步骤:
(1)安装Certbot:
sudo yum install certbot python2-certbot-apache
(2)获取SSL证书:
sudo certbot --apache
(3)在浏览器中访问您的网站,应看到证书已安装。

使用自签名证书
如果您不希望使用Let's Encrypt,可以生成自签名证书,以下是在CentOS系统中生成自签名SSL证书的步骤:
(1)生成私钥和公钥:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
(2)填写以下信息:
- Country Name (2 letter code): CN
- State or Province Name (full name): 省份
- Locality Name (city): 城市
- Organization Name (company): 公司名称
- Organizational Unit Name (department): 部门
- Common Name (Fully Qualified Domain Name): 域名
- Email Address: 邮箱
(3)运行以下命令,将证书和私钥配置到Nginx:
sudo cp /etc/ssl/certs/nginx-selfsigned.crt /etc/nginx/conf.d/ sudo cp /etc/ssl/private/nginx-selfsigned.key /etc/nginx/conf.d/
配置Web服务器
配置Apache
(1)编辑Apache配置文件:
sudo nano /etc/httpd/conf/httpd.conf
(2)找到以下行并取消注释:
LoadModule ssl_module modules/mod_ssl.so
(3)找到以下行并修改:
SSLCertificateFile /etc/ssl/certs/nginx-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/nginx-selfsigned.key
(4)重启Apache服务:
sudo systemctl restart httpd
配置Nginx
(1)编辑Nginx配置文件:

sudo nano /etc/nginx/nginx.conf
(2)找到以下行并取消注释:
include /etc/nginx/conf.d/*.conf;
(3)创建一个新的配置文件:
sudo nano /etc/nginx/conf.d/ssl.conf
(4)添加以下内容:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
} (5)重启Nginx服务:
sudo systemctl restart nginx
FAQs
Q:安装SSL后,如何验证证书是否已安装成功?
A:在浏览器中访问您的网站,如果看到绿色锁图标,则表示SSL证书已安装成功。
Q:如何更新SSL证书?
A:对于Let's Encrypt证书,可以使用以下命令更新:
sudo certbot renew --apache
对于自签名证书,您需要重新生成证书和私钥,并按照上述步骤配置Web服务器。
