ssl新闻资讯

文档中心

CentOS涓婲ginx閰嶇疆SSL璇佷功鍏ㄦ敾鐣ヤ粠鐢宠鍒癏TTPS寮哄埗璺宠浆

时间 : 2025-09-27 15:42:55浏览量 : 3

2CentOS涓婲ginx閰嶇疆SSL璇佷功鍏ㄦ敾鐣ヤ粠鐢宠鍒癏TTPS寮哄埗璺宠浆

****

"为什么我的网站地址栏显示‘不安全’?"如果你在CentOS服务器上用Nginx搭过网站,一定见过这个扎心的提示。别担心,今天我们就用最直白的语言+实操案例,手把手教你从零配置SSL证书,让网站变身安全的"小绿锁"!

一、SSL证书是什么?为什么非装不可?

想象一下:你网购时输入的密码,如果像明信片一样谁都能看,是不是很可怕?SSL证书就像给数据加了"防偷窥保险箱",通过加密技术保护传输安全。

不装SSL的3大风险

1. 数据裸奔:用户登录信息、银行卡号可能被黑客截获(比如咖啡馆公共WiFi)

2. SEO惩罚:谷歌明确表示HTTPS是搜索排名因素

3. 用户流失:现代浏览器会对HTTP网站显示红色警告(如下图)

![HTTP警告截图](https://example.com/http-warning.png)

二、准备工作清单

在开始前确认你有:

1. 一台CentOS 7/8服务器(本文以CentOS 7为例)

2. 已安装Nginx(`nginx -v`能输出版本号)

3. 域名所有权(如`example.com`)

三、实战四步走:从申请到配置

步骤1:获取SSL证书(免费/付费)

免费推荐Let's Encrypt

```bash

安装Certbot工具

sudo yum install epel-release -y

sudo yum install certbot python2-certbot-nginx -y

一键获取证书(替换你的域名)

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

```

执行后会交互式询问邮箱等信息,成功后证书存放在:

/etc/letsencrypt/live/example.com/

├── fullchain.pem

证书链

└── privkey.pem

私钥

付费证书差异

- 需要手动上传CSR文件(可用OpenSSL生成)

- 通常提供更长的有效期和保险赔付

步骤2:修改Nginx配置

编辑你的站点配置文件(通常在`/etc/nginx/conf.d/example.conf`):

```nginx

server {

listen 443 ssl;

HTTPS默认端口

server_name example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;

ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

强化安全设置(建议直接复制)

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';

ssl_prefer_server_ciphers on;

ssl_session_cache shared:SSL:10m;

location / {

root /var/www/html;

index index.html;

}

}

关键参数解释

- `ssl_protocols`:禁用老旧的TLS 1.0/1.1(存在漏洞)

- `ssl_ciphers`:只允许高强度加密算法组合

步骤3:HTTP强制跳转HTTPS

避免用户误访问HTTP版本,在80端口配置跳转:

listen 80;

server_name example.com www.example.com;

return 301 https://$host$request_uri;

301永久重定向

步骤4:防火墙放行443端口

sudo firewall-cmd --permanent --add-service=https

sudo firewall-cmd --reload

四、高级安全加固技巧

1. HSTS头防御降级攻击

在Nginx的443端口配置中添加:

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

效果:浏览器在未来两年内自动强制HTTPS访问

2. OCSP装订提升性能

ssl_stapling on;

ssl_stapling_verify on;

resolver 8.8.8.8 valid=300s;

作用:让服务器代替浏览器验证证书状态,提速30%+

五、常见问题排雷指南

? 错误1:"SSL_CTX_use_PrivateKey_file" failed

???? 检查私钥路径权限:`chmod 600 privkey.pem`

? 错误2:Chrome报ERR_CERT_COMMON_NAME_INVALID

???? 确保证书包含所有子域名(如www和非www)

?? 自动化续期Let's Encrypt证书

加入定时任务(每60天续期)

echo "0 */12 * * * root certbot renew --quiet" | sudo tee -a /etc/crontab > /dev/null

*

现在访问你的网站,应该能看到漂亮的绿色锁标志了!其实HTTPS配置并不复杂,但很多运维容易忽略后续的安全调优。记住一个原则:"不是装了SSL就万事大吉,持续更新和监控才是关键"。如果有更多问题,欢迎在评论区交流~

TAG:centos nginx ssl证书,nginx ssl证书申请,nginx配置cer证书,nginx的ssl证书,nginx ssl pem,nginx ssl证书生成