nginx https 腾讯云|阿里云证书

本文档详细介绍了如何在腾讯云上配置SSL证书,并通过Nginx实现HTTPS服务。包括了证书的安装步骤、Nginx配置文件的具体设置,以及如何进行HTTP到HTTPS的重定向等关键操作。
upstream your-server {
    ip_hash;
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name xxx.com;
    rewrite ^ https://$http_host$request_uri? permanent;
}

server {
    listen 443;
    server_name xxx.com;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   cert/*.crt;
    ssl_certificate_key  cert/*.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size 10m;
        client_body_buffer_size 128k;

        proxy_buffer_size 16k;
        proxy_buffers 4 512k;
        proxy_busy_buffers_size  1024k;
        proxy_connect_timeout 120;
        proxy_send_timeout 120;
        proxy_read_timeout 120; # 设置代理
        proxy_pass http://your-server;
    }
}
### 3.1 配置 Nginx 使用 HTTPS SSL 证书 为了在 Nginx 中配置 HTTPS SSL 证书,需要完成以下主要步骤:证书文件的获取与放置、Nginx 配置文件的修改、强制 HTTPS 访问设置以及配置的验证。 #### 3.1.1 获取 SSL 证书 SSL 证书可以通过证书颁发机构(CA)申请获取,例如 Let's Encrypt、阿里云腾讯云等平台提供免费或付费证书证书通常包含公钥证书(`.crt` 文件)和私钥(`.key` 文件)。部分证书还会包含中间证书,需要将中间证书与主证书合并为一个文件,以便 Nginx 能够正确加载完整的证书链。 #### 3.1.2 SSL 文件放置与配置文件修改 将获取的 SSL 证书文件和私钥文件放置在 Nginx 服务器上的指定路径,例如 `/etc/nginx/ssl/` 或自定义路径。确保文件权限设置正确,私钥文件应仅对 root 用户可读。 在 Nginx 配置文件中,例如 `/etc/nginx/sites-available/default` 或特定站点配置文件中,修改或添加以下内容: ```nginx server { listen 443 ssl; server_name yourdomain.com; # 替换为证书绑定的域名 # SSL 证书路径 ssl_certificate /etc/nginx/ssl/yourdomain.com_bundle.crt; ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key; # SSL 协议和加密算法设置 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; } } ``` 其中,`ssl_certificate` 指向证书文件,`ssl_certificate_key` 指向私钥文件;`ssl_protocols` 定义了启用的 TLS 协议版本,`ssl_ciphers` 指定使用的加密算法套件[^2]。 #### 3.1.3 强制 HTTPS 访问 为了确保所有请求都通过 HTTPS 访问,可以在 Nginx 中配置 HTTP 到 HTTPS 的重定向。新增一个监听 80 端口的 server 块: ```nginx server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; } ``` 该配置会将所有 HTTP 请求重定向到 HTTPS 地址,从而实现强制 HTTPS 访问[^1]。 #### 3.1.4 验证配置结果 在完成配置后,执行以下命令检查 Nginx 配置是否正确: ```bash nginx -t ``` 如果配置无误,重新加载 Nginx 服务以应用更改: ```bash systemctl reload nginx ``` 随后,可以通过浏览器访问 `https://yourdomain.com` 验证 HTTPS 是否正常工作。还可以使用在线工具如 [SSL Labs](https://www.ssllabs.com/ssltest/) 检查 SSL 证书配置的安全性与完整性。 #### 3.1.5 其他注意事项 - 确保服务器防火墙允许 443 端口通信。 - 如果使用的是 Docker 部署 Nginx,需要将证书文件挂载到容器内,并确保路径与配置文件中的一致[^4]。 - 定期检查证书有效期,并设置自动续签机制(如使用 Certbot 自动更新 Let's Encrypt 证书)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值