2
0
mirror of https://github.com/acepanel/acepanel.github.io.git synced 2026-02-05 19:53:26 +08:00
Files
acepanel.github.io/en/advanced/website/proxy.md
2026-01-26 07:23:43 +08:00

136 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 反向代理
反向代理网站用于将外部请求转发到后端服务,常用于部署 Node.js、Go、Java、Python 等应用。
## 工作原理
```
用户请求 -> Nginx (反向代理) -> 后端应用 (如 localhost:3000)
```
Nginx 接收用户的 HTTP/HTTPS 请求,然后将请求转发到指定的后端地址。
## 创建反向代理网站
1. 进入 **网站** 页面
2. 确保选中 **反向代理** 标签
3. 点击 **创建网站**
### 配置项
- **名称**:网站标识,如 `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 服务
```
## 编辑反向代理网站
点击网站列表中的 **编辑** 按钮进入编辑页面。
### 域名和监听
配置网站的域名和监听端口,支持添加多个域名和端口。
![域名和监听配置](/images/website/website-proxy-edit.png)
- **域名**:可添加多个域名
- **监听地址**:可配置多个端口,支持 HTTPS 和 QUIC(HTTP3)
### 上游配置
上游Upstream定义了后端服务器地址支持配置多个后端实现负载均衡。
![上游配置](/images/website/website-proxy-upstream.png)
- **上游名称**:上游的标识名称
- **负载均衡算法**支持轮询默认、IP Hash 等算法
- **保持活动连接**:与后端保持的长连接数量
- **DNS 解析器**:自定义 DNS 解析器
点击 **添加服务器** 按钮可以添加后端服务器:
![添加服务器](/images/website/website-proxy-upstream-add.png)
- **服务器地址**:后端服务器地址,如 `127.0.0.1:8080`
- **选项**:可选参数,如 `weight=5`(权重)、`backup`(备用服务器)等
### 代理配置
配置代理行为和请求头传递。
![代理配置](/images/website/website-proxy-proxy.png)
- **匹配类型**:匹配类型,如前缀匹配、正则匹配等
- **匹配表达式**:匹配的 URL 表达式
- **代理目标**:填写上游名称或直接填写后端地址
- **启用缓存**:是否启用代理缓存
- **启用缓冲区**是否启用缓冲区AI 应用建议关闭否则可能影响流式输出
- **代理 SNI**:是否启用 SNI仅 HTTPS 代理有效)
- **自定义请求头**:添加或修改传递给后端的请求头
- **响应内容替换**:可替换响应内容中的字符串
## 使用场景
### Node.js 应用
```bash
# 启动 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-IP`
- `X-Forwarded-For`
- `X-Forwarded-Proto`
### 自定义配置
在网站管理页面可以编辑 Nginx 配置,添加自定义配置:
```nginx
proxy_connect_timeout 60s;
proxy_read_timeout 60s;
proxy_send_timeout 60s;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
```
## 注意事项
1. 确保后端服务已启动并监听指定端口
2. 如果后端是 Docker 容器,确保端口已正确映射或使用 Docker 网络
3. 后端服务崩溃时Nginx 会返回 502 错误