ssl新闻资讯

文档中心

Nginx涓婼SL璇佷功瀹夎鎸囧崡鎵嬫妸鎵嬫暀浣犳墦閫燞TTPS瀹夊叏绔欑偣

时间 : 2025-09-27 16:26:25浏览量 : 2

2Nginx涓婼SL璇佷功瀹夎鎸囧崡鎵嬫妸鎵嬫暀浣犳墦閫燞TTPS瀹夊叏绔欑偣

关键词:Nginx SSL证书安装、HTTPS配置、Nginx安全优化

一、为什么你的网站需要SSL证书?

想象一下:你在咖啡馆用公共WiFi登录网站,如果网站是HTTP协议,黑客可以像“偷看明信片”一样截取你的密码、银行卡号。而HTTPS(即HTTP+SSL)会把这些信息变成“加密信封”,只有服务器能解密。

典型场景举例

- 用户登录页面没有HTTPS → 黑客用中间人攻击窃取Cookie,直接冒充用户身份。

- 电商网站支付环节未加密 → 信用卡信息被嗅探,导致财产损失。

二、准备工作:获取SSL证书的3种方式

1. 免费证书(推荐小型站点)

- Let's Encrypt:自动化工具Certbot一键申请,90天有效期(可自动续期)。

```bash

sudo certbot --nginx -d yourdomain.com

```

- 适用场景:个人博客、测试环境。

2. 付费证书(企业级需求)

- DigiCert/Sectigo等品牌,提供OV(组织验证)、EV(扩展验证)证书,地址栏显示公司名称。

- 优势:更高信任度、技术支持、保险赔付。

3. 自签名证书(仅限内部使用)

```bash

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \

-keyout /etc/nginx/ssl/self.key -out /etc/nginx/ssl/self.crt

```

?? 浏览器会提示“不安全”,适合本地开发或内网系统。

三、Nginx安装SSL证书全流程(以Let's Encrypt为例)

步骤1:确认Nginx已安装并开放443端口

检查Nginx是否运行:

```bash

systemctl status nginx

```

防火墙放行HTTPS流量:

sudo ufw allow 443/tcp

```

步骤2:使用Certbot自动配置证书

安装Certbot工具:

sudo apt install certbot python3-certbot-nginx

Ubuntu/Debian

sudo yum install certbot python3-certbot-nginx

CentOS

生成证书并自动修改Nginx配置:

sudo certbot --nginx -d example.com -d www.example.com

? Certbot会自动完成以下操作:

- 生成证书文件(保存在`/etc/letsencrypt/live/example.com/`)

- 修改Nginx配置指向证书路径

- 设置自动续期任务

步骤3:手动配置示例(适用于其他证书)

编辑Nginx站点配置文件(通常位于`/etc/nginx/sites-available/default`):

```nginx

server {

listen 443 ssl;

server_name example.com;

ssl_certificate /path/to/fullchain.pem;

证书链文件

ssl_certificate_key /path/to/private.key;

私钥文件

SSL性能优化参数

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256';

ssl_prefer_server_ciphers on;

location / {

root /var/www/html;

index index.html;

}

}

HTTP强制跳转HTTPS

listen 80;

return 301 https://$host$request_uri;

重载Nginx生效:

sudo nginx -t

测试配置语法

sudo systemctl reload nginx

四、常见问题排查与优化技巧

? 问题1:浏览器提示“不安全连接”

- 原因A:证书链不完整 → [补全中间证书](https://ssl-config.mozilla.org/) 。

- 原因B:系统时间错误 → `date`命令检查时间是否准确。

? 问题2:HTTPS访问特别慢

- 优化方案A :启用OCSP Stapling减少验证延迟:

```nginx

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.8.8 valid=300s;

- 优化方案B: Session复用减少TLS握手:

ssl_session_cache shared:SSL:10m;

ssl_session_timeout? 24h;

五、高级安全加固建议

1???禁用老旧协议:

ssl_protocols TLSv1.2 TLSv1.3;?

?禁用不安全的TLSv1.0/v1.1

2???开启HSTS防止降级攻击:

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;

通过以上步骤,你的网站将获得以下安全提升:

??数据加密传输防窃听 ??提升搜索引擎排名 ??避免浏览器“不安全”警告

TAG:nginx 下ssl证书安装,nginx ssl 版本,nginx安装ssl模块,nginx sslv3,nginx ssl_ciphers