反向代理
反向代理网站用于将外部请求转发到后端服务,常用于部署 Node.js、Go、Java、Python 等应用。
工作原理
用户请求 -> Nginx (反向代理) -> 后端应用 (如 localhost:3000)Nginx 接收用户的 HTTP/HTTPS 请求,然后将请求转发到指定的后端地址。
创建反向代理网站
- 进入 网站 页面
- 确保选中 反向代理 标签
- 点击 创建网站
配置项
- 名称:网站标识,如
myapp - 域名:绑定的域名,如
app.example.com - 端口:监听端口,默认 80
- 代理目标:后端服务地址,如
http://127.0.0.1:3000 - 备注:可选备注
代理目标格式
http://127.0.0.1:3000 # 本地服务
http://localhost:8080 # 本地服务
http://172.18.0.2:80 # Docker 容器
https://backend.internal # 内部 HTTPS 服务编辑反向代理网站
点击网站列表中的 编辑 按钮进入编辑页面。
域名和监听
配置网站的域名和监听端口,支持添加多个域名和端口。

- 域名:可添加多个域名
- 监听地址:可配置多个端口,支持 HTTPS 和 QUIC(HTTP3)
上游配置
上游(Upstream)定义了后端服务器地址,支持配置多个后端实现负载均衡。

- 上游名称:上游的标识名称
- 负载均衡算法:对于 Nginx,支持轮询(默认)、
least_conn、ip_hash、hash和random;对于 Apache,支持轮询(默认)、最少繁忙和按流量分配 - 保持连接数:与后端维持的长连接数量
- DNS 解析器:自定义 DNS 解析器及解析超时时间(仅 Nginx)
点击 添加服务器 按钮可以添加后端服务器:

- 服务器地址:后端服务器地址,如
127.0.0.1:8080 - 选项:可选参数,如
weight=5(权重)、backup(备用服务器)等
代理配置
配置代理行为和请求头转发。 每条代理规则将一个 location 映射到一个后端。

- 匹配类型:location 匹配类型,例如精确匹配(
=)、优先前缀匹配(^~)、前缀匹配、区分大小写正则(~)和不区分大小写正则(~*) - 匹配表达式:匹配的 URL 表达式
- 代理转发:填写上游名称或直接填写后端地址,例如
http://127.0.0.1:8080或http://upstream_name - 代理 Host:发送给后端的
Host头(默认为$proxy_host,或自动从代理转发地址中提取) - 启用缓存:是否启用代理缓存
- 启用缓冲:是否启用缓冲,AI 应用建议关闭,否则可能影响流式输出
- 代理 SNI:发送给后端的 SNI(仅对 HTTPS 后端有效)
- DNS 解析器:自定义 DNS 解析器及解析超时时间(仅 Nginx)
- 自定义请求头:添加或修改传递给后端的请求头
- 响应内容替换:可替换响应内容中的字符串
高级设置
对于 Nginx,每条代理规则还提供一个高级设置面板:
- HTTP 版本:后端协议版本(HTTP/1.0、HTTP/1.1、HTTP/2)
- 最大请求体大小:该规则的最大请求体大小
- 超时设置:连接 / 读取 / 发送超时时间
- 重试设置:上游请求失败时的重试条件、最大重试次数和重试超时时间
- SSL 后端验证:验证后端证书(仅在 HTTPS 后端时显示)
- 响应头:隐藏或添加响应头
- IP 访问控制:针对该规则允许或拒绝访客 IP/CIDR
重定向
重定向标签页允许你添加在请求到达代理之前生效的重定向规则。 每条规则是一张卡片,可通过拖动重新排序。
- 重定向类型:
- URL 重定向(
url):将源路径重定向到目标路径 - 主机重定向(
host):将源主机重定向到目标 URL(例如强制将www跳转到主域名) - 404 重定向(
404):将原本会返回 404 的请求重定向到目标 URL
- URL 重定向(
- 状态码:
301(永久移动)、302(找到)、307(临时重定向)或308(永久重定向,默认) - 源:源路径(URL 类型)或源主机(Host 类型);404 类型不使用此项
- 目标:目标路径(URL 类型)或目标 URL(Host/404 类型)
- 保留 URI:启用后,原始请求路径和查询参数会被保留并追加到目标地址
HTTPS
HTTPS 标签页管理网站的 TLS。 当已绑定证书时,摘要卡片会显示证书有效期、颁发者和涵盖的域名。
- 主开关:启用或禁用该网站的 HTTPS。 启用后会自动添加
443监听(Nginx 还会添加quic);禁用后会移除443监听并清除ssl/quic标志 - 使用现有证书:选择证书管理中已托管的证书,以自动填入证书和私钥
- HSTS:启用 HTTP 严格传输安全
- HTTP 跳转:强制将普通 HTTP 请求重定向到 HTTPS
- OCSP 装订:启用 OCSP 装订
- TLS 版本:在 TLS 1.0、TLS 1.1、TLS 1.2 和 TLS 1.3 中选择允许的协议
- 证书 / 私钥:直接粘贴 PEM 证书和 KEY 私钥内容
一键签发证书
当网站至少有一个域名时,底部的一键签发证书按钮会为已绑定的域名申请免费证书。 如果任一域名为泛域名(例如 *.example.com),会弹出对话框提示你选择一个 DNS 提供商(在证书管理中配置),以便通过 DNS 验证签发证书。
高级设置(全站)
高级设置标签页将多个全站选项归类到可折叠的面板中。
访问统计
仅 Nginx 可用。 开启启用统计以收集该网站的访问统计数据(可在网站统计页面查看)。
日志设置
- 访问日志:选择禁用(
off)、默认路径或填写自定义路径 - 错误日志:选择禁用(
off)、默认路径或填写自定义路径
当设置了日志路径(且未禁用)时,编辑器还会显示访问日志 / 错误日志标签页用于实时查看,底部的清空日志按钮会清空当前查看的日志文件。
限流
开启启用限流以打开该功能;下方的限制字段仅在启用后才会出现。
- 并发限制:整个站点的最大并发连接数(
0= 不限制) - 单 IP 限制:每个访客 IP 的最大并发连接数(
0= 不限制) - 速率限制:单个请求的传输速率限制,单位 KB(
0= 不限制)
真实 IP
当 AcePanel 自身处于 CDN 或 Frp 之后时,用于识别访客的真实 IP(这与向后端转发请求头不同;参见 转发真实 IP)。
- 启用:打开或关闭该功能
- IP 来源:受信任的上游 IP 或 CIDR,每行一个(例如
127.0.0.1、10.0.0.0/8)。 如果使用 Frp,填写 Frp 的 IP;如果使用 CDN,填写 CDN 的 IP 段。 如果不确定,可以使用0.0.0.0/0/::/0(不安全) - IP 头:携带真实 IP 的请求头,例如
X-Real-IP、X-Forwarded-For、CF-Connecting-IP、True-Client-IP、Ali-Cdn-Real-Ip或EO-Connecting-IP(允许自定义值) - 递归查找:在
X-Forwarded-For头中递归查找真实 IP
基本认证
在用户凭据下添加用户名/密码对,要求访客在访问网站前进行 HTTP 基本认证。 将列表留空则禁用认证。
使用场景
Node.js 应用
# 启动 Node.js 应用
node app.js # 监听 3000 端口代理目标:http://127.0.0.1:3000
Docker 容器
如果后端是 Docker 容器,可以使用容器的 IP 地址或容器名称(同一网络内)。
代理目标:http://容器名:端口 或 http://容器IP:端口
多个后端(负载均衡)
在上游配置中添加多个后端地址,实现负载均衡。
代理目标:http://上游名称
常见配置
WebSocket 支持
反向代理默认支持 WebSocket,无需额外配置。
传递真实 IP
AcePanel 会自动配置以下请求头,将用户真实 IP 传递给后端:
X-Real-IPX-Forwarded-ForX-Forwarded-Proto
NOTE
这是关于将访客 IP 转发给你的后端服务,与高级设置(全站)中的真实 IP 功能是两回事。 那个功能是关于 AcePanel 自身在处于 CDN 或 Frp 之后时恢复访客的真实 IP(即读取受信任的上游请求头,而不是代理自身的 IP)。 当 AcePanel 处于另一个代理之后时使用真实 IP;当你的后端需要客户端 IP 时使用请求头转发。
自定义配置
你可以在网站编辑器的自定义配置标签页中添加自定义配置。 每条配置都有一个名称和一个作用域(本网站或全局),让你无需手动编辑文件即可注入额外的指令:
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_buffer_size 64k;
proxy_buffers 4 64k;注意事项
- 确保后端服务已启动并监听指定端口
- 如果后端是 Docker 容器,确保端口已正确映射或使用 Docker 网络
- 后端服务崩溃时,Nginx 会返回 502 错误
