centos

centos nginx配置SSL证书步骤

小樊
84
2025-02-13 07:58:53
栏目: 云计算

在CentOS上配置Nginx以使用SSL证书的步骤如下:

1. 安装Nginx和OpenSSL

首先,确保你的CentOS系统已经安装了Nginx和OpenSSL。如果没有安装,可以使用以下命令进行安装:

sudo yum update -y
sudo yum install nginx openssl

2. 获取SSL证书

你可以从证书颁发机构(CA)获取SSL证书,例如Let’s Encrypt,或者生成自签名证书。以下是生成自签名证书的命令:

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

或者,如果你选择从CA获取证书,可以使用Certbot等工具自动获取和安装证书:

sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d yourdomain.com -m youremail@example.com

3. 创建证书目录

在Nginx的安装目录下创建一个用于存放证书文件的目录,例如/etc/nginx/cert

sudo mkdir -p /etc/nginx/cert

4. 上传证书文件

将获取到的证书文件(通常包括.crt.key文件)上传到Nginx服务器的证书目录下:

sudo cp /path/to/your_certificate.crt /etc/nginx/cert/
sudo cp /path/to/your_certificate.key /etc/nginx/cert/

5. 配置Nginx

编辑Nginx的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。你可以创建一个新的配置文件,例如/etc/nginx/conf.d/ssl.conf。添加以下内容:

server {
    listen 443 ssl;
    server_name yourdomain.com;
    ssl_certificate /etc/nginx/cert/your_certificate.crt;
    ssl_certificate_key /etc/nginx/cert/your_certificate.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers 'HIGH:!aNULL:!MD5';
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
        root /var/www/html;
        index index.html index.htm;
    }
}

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

6. 测试Nginx配置

在重新加载Nginx之前,先测试配置文件是否有语法错误:

sudo nginx -t

如果没有错误,你会看到类似以下的输出:

nginx: configuration file /etc/nginx/nginx.conf test is successful

7. 重新加载Nginx

如果配置文件没有问题,重新加载Nginx以应用更改:

sudo systemctl reload nginx

8. 验证SSL配置

使用浏览器访问你的网站,检查地址栏中的锁图标是否显示为绿色,表示SSL配置成功。你还可以使用在线工具如SSL Labs进行更详细的测试。

以上步骤完成后,你的Nginx服务器应该已经成功配置了SSL证书,并且可以通过HTTPS提供服务。

0
看了该问题的人还看了