Nginx 配置
生成 Nginx 服务器配置片段:勾选静态站点、SPA history 回退、反向代理、负载均衡、HTTPS 跳转、缓存与 gzip、WebSocket 升级,输出带缩进、可直接放进 conf.d 的 server 块。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
场景与参数
提示
nginx 配置
把内容保存为 /etc/nginx/conf.d/<域名>.conf,执行 nginx -t 校验后 reload。
# 由 UniKit 生成,请放进 /etc/nginx/conf.d/ 或 sites-enabled/
# 场景:static + spa
server {
server_name example.com;
listen 80;
root /var/www/html;
index index.html;
client_max_body_size 10m;
# 静态文件与 history 回退
location / {
try_files $uri $uri/ /index.html;
}
# 安全响应头
add_header X-Content-Type-Options nosniff always;
add_header X-Frame-Options SAMEORIGIN always;
}
统计
1122这个工具能做什么
- 新部署一个前端站点:勾「静态站点 + SPA history 回退」,填好根目录,直接得到带 try_files 的 server 块,刷新子路由不再 404。
- 给后端接口配反向代理:填 proxy_pass 地址,自动补齐 Host、X-Real-IP、X-Forwarded-For、X-Forwarded-Proto 四个请求头。
- 上线 HTTPS:勾选 HTTPS 场景会同时生成 80 端口 301 跳转块与 443 的 ssl 配置,证书路径按 Let's Encrypt 的默认位置预填。
- 老配置加缓存和压缩:勾「缓存与 gzip」,静态资源按天数加 expires 与 immutable,HTML 之外的文本类型统一走 gzip。
示例
输入
场景:静态站点 + SPA history 回退;server_name example.com;端口 80;根目录 /var/www/html;首页 index.html
输出
# 由 UniKit 生成,请放进 /etc/nginx/conf.d/ 或 sites-enabled/
# 场景:static + spa
server {
server_name example.com;
listen 80;
root /var/www/html;
index index.html;
client_max_body_size 10m;
# 静态文件与 history 回退
location / {
try_files $uri $uri/ /index.html;
}
# 安全响应头
add_header X-Content-Type-Options nosniff always;
add_header X-Frame-Options SAMEORIGIN always;
}缩进固定 4 个空格;勾了 HTTPS 时会多出一个只负责 301 跳转的 server 块,所以文件里会有两个 server。
常见问题
生成的配置放在哪里,怎么生效?
保存到 /etc/nginx/conf.d/<域名>.conf 或 /etc/nginx/sites-enabled/ 下,先执行 nginx -t 确认语法,再 nginx -s reload。如果勾了 WebSocket,map 指令必须留在 http 块层级,不要塞进 server 里面。
SPA 回退和静态站点有什么区别?
静态站点用 try_files $uri $uri/ =404,访问不存在的路径就返回 404;SPA 回退用 try_files $uri $uri/ /index.html,把未知路径交给前端路由处理,所以刷新 /user/1 不会 404。两者只影响 location / 里的这一行。
反向代理和负载均衡可以一起选吗?
可以,但同时选会以负载均衡为准:proxy_pass 指向 upstream 名称而不是单个地址,页面会给出一条提示。只选反向代理时 proxy_pass 用你填的地址。
upstream 里的 weight 怎么写?
每行一个服务器,格式是 主机:端口 加可选的参数,例如 127.0.0.1:3001 weight=3。支持的参数有 weight、max_fails、fail_timeout、backup、down,其它写法会提示格式错误。
缓存天数设成 0 会怎样?
会生成 expires 0d 和 max-age=0,等于让浏览器每次都回源校验,适合正在调试静态资源时使用。生产环境通常设 7 到 30 天,并配合文件名带 hash 的构建产物。
关键词:nginxnginx configserver blockreverse proxyload balancingnginx 配置反向代理负载均衡https 跳转gzip