反向代理承担什么角色
Nginx 常部署在应用服务器之前,统一接收 HTTP 请求,再转发到后端实例。它可以终止 TLS、复用连接、压缩静态内容、限制请求速率,并通过负载均衡分散流量。这样既能隐藏内部拓扑,也能减少应用重复处理通用网络任务。
对可复用响应启用代理缓存,可以降低源站压力和用户延迟。缓存键通常需要包含协议、主机、路径及会影响内容的查询参数;如果响应因语言、设备或登录状态不同,还要把相应维度纳入设计。设置不当会造成内容串用,这是比缓存未命中更严重的问题。
稳定性比命中率更重要
静态资源可使用长缓存和文件指纹,动态内容则设置较短有效期,并依据业务使用主动失效或版本化 URL。带有 Set-Cookie、用户隐私或实时交易信息的响应一般不应直接共享缓存。可配置过期内容回源失败时的兜底,但必须明确可接受的陈旧时间。
上游应设置连接、读取和发送超时,配合健康检查、重试边界和熔断策略。监控重点包括命中率、上游响应时间、状态码、连接数和回源流量。优化应以真实业务数据为依据,而不是单纯追求最高缓存比例。
参考资料:https://nginx.org/en/