NGINX怎么开启HTTPS

发布时间:2022-01-19 16:18:56 作者:iii
来源:亿速云 阅读:170
# NGINX怎么开启HTTPS

## 前言

在当今互联网环境中,HTTPS已成为网站安全的标准配置。通过SSL/TLS加密传输数据,不仅能保护用户隐私,还能提升SEO排名和用户信任度。本文将详细介绍如何在NGINX服务器上启用HTTPS,包括证书获取、配置优化和常见问题排查。

---

## 一、准备工作

### 1.1 确认NGINX安装
首先确保服务器已安装NGINX:
```bash
nginx -v

若未安装,可通过包管理器安装:

# Ubuntu/Debian
sudo apt update && sudo apt install nginx

# CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx

1.2 获取SSL证书

常见证书获取方式: - Let’s Encrypt(免费) - 商业CA(如DigiCert、GeoTrust) - 自签名证书(仅测试用)

推荐使用Certbot获取Let’s Encrypt证书:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

二、配置HTTPS

2.1 基础配置

编辑NGINX配置文件(通常位于/etc/nginx/sites-available/your_site):

server {
    listen 443 ssl;
    server_name example.com www.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;
    ssl_session_timeout 10m;

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

2.2 HTTP重定向到HTTPS

添加强制跳转配置:

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

三、高级优化

3.1 启用HSTS

在HTTPS server块中添加:

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

3.2 OCSP Stapling

提升SSL握手效率:

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;

3.3 性能调优

ssl_buffer_size 4k;
ssl_dhparam /etc/nginx/dhparam.pem;  # 需先生成:openssl dhparam -out /etc/nginx/dhparam.pem 2048

四、证书自动续期

Let’s Encrypt证书有效期为90天,设置自动续期:

sudo crontab -e

添加以下内容:

0 0 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"

五、常见问题排查

5.1 证书不生效

5.2 混合内容警告

确保网页内所有资源(图片/JS/CSS)都使用HTTPS链接。

5.3 SSL Labs评分低

使用SSL Labs测试工具检测,常见改进点: - 禁用TLS 1.0/1.1 - 更新加密套件 - 启用TLS 1.3


六、附录

6.1 推荐配置生成工具

6.2 常用命令

命令 作用
sudo nginx -t 测试配置语法
sudo systemctl restart nginx 重启NGINX
openssl x509 -in cert.pem -text -noout 查看证书详情

结语

通过本文的步骤,您已成功为NGINX启用HTTPS并进行了安全加固。建议定期检查证书有效期和SSL配置,以保持最佳安全状态。如有其他问题,可参考NGINX官方文档或社区论坛。

版权声明:本文采用CC BY-NC-SA 4.0协议,允许非商业性共享和演绎,但需署名并保持相同方式共享。 “`

注:本文实际约1100字,可通过以下方式扩展: 1. 增加各配置参数的详细解释 2. 添加不同操作系统下的差异说明 3. 补充更多故障排查案例 4. 加入性能测试对比数据

推荐阅读:
  1. 如何购买https证书以及nginx配置https
  2. nginx开启认证

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nginx https

上一篇:怎么修改git的提交人

下一篇:服务器怎么防范黑产攻击

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》