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 验证时还需按证书客户端要求配置验证路径。