SuperAPI AI 工具集

reverse-proxy

通用与其它

查看项目

更新于 10-15 17:24

技能介绍

用途:在客户端与后端服务之间搭建反向代理网关,把公网域名流量路由到一个或多个后端,在边缘终止 TLS 并转发明文 HTTP,同时加入限流、CORS、安全响应头与访问控制,也可将多个服务合并到同一域名下按路径分流,并处理 WebSocket 升级、gRPC 代理或 HTTP/2 透传。

前提条件:后端服务运行在已知 host:port;具备 TLS 证书(Let's Encrypt、ACM 或开发用自签名);已安装 nginx 1.25+ 或 Traefik 3.x;域名 DNS 记录指向代理服务器。

主要能力:nginx 侧提供 HTTP 到 HTTPS 的 301 跳转、TLS 协议与加密套件配置、HSTS 等安全头、proxy_pass 转发与 X-Forwarded-* 头、连接/读写超时与缓冲、按路径路由(前端 SPA、API、WebSocket、静态资源缓存)、limit_req 与 limit_conn 限流、gzip 压缩(Brotli 需 ngx_brotli 模块)、IP 白名单与 GeoIP2 地域封禁。Traefik 侧提供静态配置(entryPoints、ACME 证书解析器、Docker 与文件 provider、dashboard、日志)、动态配置(routers、services、健康检查、安全头与限流中间件)以及通过 Docker labels 自动发现服务。

使用方式:nginx 用 certbot --nginx -d 域名 签发证书,用 nginx -t 校验配置、nginx -s reload 平滑重载,日志位于 /var/log/nginx/。Traefik 通过 traefik.yml 与动态目录或容器标签声明路由,证书存储于 acme.json。

限制与排障:常见问题包括 502(后端不可达)、504(后端过慢,需调大 proxy_read_timeout)、混合内容(未设 X-Forwarded-Proto)、WebSocket 60 秒断开(需设长超时)、限流误伤正常用户、Let's Encrypt 续期失败(80 端口或 .well-known 路径问题)、Traefik 全 404(Docker socket 未挂载或 exposedByDefault 设置)、TLS 握手失败(证书链不完整)。具体版本兼容性与生产参数需按实际环境验证。