# 1. Nginx location 匹配规则的优先级(精确/前缀/正则)与常见配置错误案例? A 精确匹配 > ^~ 前缀 > 正则(顺序)> 最长前缀 ✓ 正确答案 B 正则优先级最高 C 普通前缀优先于正则 D ^~ 会跳过精确匹配
# 2. Nginx 反向代理的关键配置中 proxy_pass 结尾斜杠差异、Host 头透传与超时三件套(connect/send/read)? A proxy_pass 带 URI 会替换 location 前缀,Host 头用 proxy_set_header 透传 ✓ 正确答案 B proxy_pass 结尾斜杠无影响 C Host 头自动透传无需配置 D 超时三件套只影响建连
# 3. Nginx 反向代理的核心配置中 upstream、proxy_pass、proxy_set_header 与 keepalive 如何协同? A keepalive 用于客户端侧 B upstream 定义后端,keepalive 复用上游连接减少建连开销 ✓ 正确答案 C proxy_pass 只能指向单个 IP D keepalive 与 proxy_set_header 无关
# 4. try_files 与命名 location(@)在 SPA 路由回退与伪静态中的典型配置,以及内部跳转与外部跳转的区别 A @ 是外部跳转 B try_files 按序检查文件,找不到回退到 @ 或 index.html,@ 是内部跳转 ✓ 正确答案 C try_files 只能检查一个文件 D SPA 回退需返回 404
# 5. Nginx server_name 的精确/通配/正则匹配顺序与 default_server 兜底逻辑,无匹配请求如何安全处理 A 精确 > 通配 > 正则,无匹配用 default_server,可用 444 安全处理 ✓ 正确答案 B 正则优先于精确 C 无 default_server 时请求报错 D 未知 Host 应落到业务 server
# 6. Nginx rewrite 与 return 的区别及 301/302/307 跳转的选择? A 307 会把 POST 转成 GET B rewrite 直接返回 C 301 是临时跳转 D return 直接返回,rewrite 改写继续;永久迁移用 301,保留方法用 307 ✓ 正确答案
# 7. Nginx upstream 主动健康检查(商业版/第三方)与被动健康检查(max_fails/fail_timeout)的区别与选择 A 两者都需要商业版 B 被动实时性更好 C 主动零成本 D 被动靠 max_fails/fail_timeout 按请求失败标记,主动靠定期探针 ✓ 正确答案
# 8. Nginx 负载均衡策略(轮询/权重/ip_hash/least_conn/url_hash)的适用场景与一致性哈希扩展? A 一致性哈希在增删时全量重排 B 轮询适合长连接 C ip_hash 按 URL 哈希 D least_conn 适合长连接,ip_hash 会话保持,hash consistent 做一致性哈希 ✓ 正确答案
# 9. Nginx 限流(limit_req/limit_conn)与安全头、TLS 终止的典型配置组合? A burst 会降低吞吐 B limit_req 限制并发连接 C limit_req 用 zone 定义速率,burst/nodelay 控制突发,安全头与 TLS 在 server 层组合 ✓ 正确答案 D 安全头与 TLS 无关
# 10. Nginx 高并发调优中 worker_processes/worker_connections/keepalive_timeout 与文件描述符的配比? A worker_connections 越大越好且不受 fd 限制 B worker_processes=核数,worker_rlimit_nofile 需满足连接数,keepalive_timeout 平衡 ✓ 正确答案 C worker_processes 越多越好 D keepalive_timeout 与 fd 无关
# 11. map 指令实现按变量(UA/区域/参数)映射分发与条件标头的典型用法 A 它只能映射 IP B 它把变量值映射到结果,用于按 UA/区域做分发与条件标头 ✓ 正确答案 C 它用于日志格式 D map 结果不能用于 proxy_pass
# 12. WebSocket/SSE 长连接代理中 Upgrade/Connection 头透传、proxy_read_timeout 与 proxy_buffering off 如何配合避免断流 A WebSocket 用 HTTP/1.0 B 长连接无需调超时 C 需透传 Upgrade 头、调大 proxy_read_timeout,SSE 需 proxy_buffering off ✓ 正确答案 D 缓冲对 SSE 无影响
# 13. nginx -s reload 的平滑机制中 worker 优雅退出、配置生效过程与 reload 失败时的回退保护 A 新 worker 用新配置,旧 worker 优雅退出,配置错误时保留旧配置不中断 ✓ 正确答案 B reload 会中断所有连接 C reload 失败会停止服务 D reload 需要重启才生效
# 14. Nginx upstream 的权重与备份节点配置中 backup/down 状态在故障切换时的行为 A down 节点也接收请求 B backup 与主节点同时接管 C backup 只在主节点全不可用时接管,down 手动下线 ✓ 正确答案 D weight 控制备份切换
# 15. Nginx 动静分离与缓存(proxy_cache/open_file_cache)的配置与失效策略? A 静态走 Nginx、动态走上游,proxy_cache 缓存响应,open_file_cache 缓存文件句柄 ✓ 正确答案 B proxy_cache 缓存文件句柄 C open_file_cache 缓存响应体 D 失效策略与 TTL 无关
# 16. Nginx 安全加固要点中隐藏版本号、限制敏感 location、防目录遍历与请求体大小限制如何配置 A server_tokens off 隐藏版本,allow/deny 限敏感路径,autoindex off 防目录遍历 ✓ 正确答案 B autoindex on 防遍历 C client_max_body_size 限制连接数 D server_tokens 显示版本
# 17. Nginx 日志排障中 access log 的 $upstream_status/$request_time 字段与 error log 级别如何配合定位 5xx A error log 与排障无关 B $request_time 反映上游地址 C $upstream_status 反映上游状态,与 $status 对比可区分是上游还是 Nginx 出错 ✓ 正确答案 D 5xx 一定在上游
# 18. Nginx 缓存与限流的叠加场景中 proxy_cache 命中率统计与 limit_req 的 burst/nodelay 突发控制如何配置 A nodelay 让突发请求排队 B burst 会关闭缓存 C proxy_cache 降回源、limit_req 防滥用,$upstream_cache_status 统计命中率 ✓ 正确答案 D 命中率与日志无关
# 19. gzip/brotli 压缩与静态资源缓存头(expires/Cache-Control)的动静分离配置组合 A gzip 只压缩图片 B 动态资源也应长缓存 C gzip/brotli 压缩传输,expires/Cache-Control 设静态资源长缓存 ✓ 正确答案 D 缓存头与压缩无关
# 20. proxy_next_upstream 的重试触发条件与陷阱中非幂等请求重试导致重复提交如何规避 A 重试与幂等无关 B 重试对任何请求都安全 C 非幂等请求应开启所有重试 D 上游已执行但响应丢失时重试会导致非幂等操作重复提交 ✓ 正确答案