rmdir.cn

HTTPS 与跳转配置示例

配置 TLS 证书及 HTTP 到 HTTPS 跳转

配置骨架(非 Shell 命令)

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/example.com/privkey.pem;
}

说明

适用于已持有有效域名证书的站点。两个 server 块放入 http 上下文中 include 的站点配置(如 /etc/nginx/conf.d/site.conf),可配套使用。example.com、证书文件和站点根目录均需替换为真实值;需要 Nginx SSL 模块以及支持所选 TLS 协议的 OpenSSL。修改后先检查通过再重载。

示例

提供 HTTPS 静态站点

使用证书链文件与匹配的私钥,不在网页或日志中公开私钥。

server {
    listen 443 ssl;
    server_name example.com;
    ssl_certificate /etc/nginx/certs/example.com/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    root /srv/www/site;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}

注意事项:证书路径只是占位示例,需要提前签发并安装证书。私钥按最小权限保管,不能授予其他用户读写;本片段不自动续期证书。

固定域名跳转到 HTTPS

使用固定目标域名,保留原始路径和查询参数。

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

注意事项:先验证 HTTPS 可用再启用跳转;API 请求应评估 301 对方法的影响。使用 ACME HTTP 验证时还需按证书客户端要求配置验证路径。

参考资料