要配置Nginx支持SSL,需要进行以下步骤:

1. 获取SSL证书

从证书颁发机构(CA)获取SSL证书和私钥文件,通常包括:

  • example.crt:SSL证书文件

  • example.key:私钥文件

2. 配置Nginx支持SSL

编辑Nginx配置文件(通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default),修改或添加如下内容:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/example.crt;
    ssl_certificate_key /path/to/example.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

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

3. 重启Nginx服务

配置完成后,重启Nginx以应用更改:

sudo systemctl restart nginx

4. 验证配置

通过浏览器访问 https://example.com,确认SSL配置是否生效。

5. 强制HTTP重定向到HTTPS(可选)

在配置文件中添加以下内容,强制将HTTP请求重定向到HTTPS:

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

案例

假设域名是 example.com,SSL证书文件位于 /etc/nginx/ssl/example.crt,私钥文件位于 /etc/nginx/ssl/example.key,配置如下:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/nginx/ssl/example.crt;
    ssl_certificate_key /etc/nginx/ssl/example.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

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

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

重启Nginx后,访问 https://example.com 即可通过HTTPS访问。

本篇文章内容来源于:nginx ssl怎么配置详细说明以及案例