# Nginx 反向代理配置说明

如果遇到 307 重定向到 `127.0.0.1` 的问题，请检查 Nginx 配置。

## 问题现象

前端请求 `http://asapi.deepx1.com/api/trades?limit=100&period=7d` 被重定向到 `http://127.0.0.1/api/trades/?limit=100&period=7d`

## 可能的原因

1. **Nginx 配置中的 `proxy_redirect` 设置错误**
2. **Location 头的重写规则有问题**
3. **FastAPI 的自动重定向（已修复）**

## 推荐的 Nginx 配置

```nginx
server {
    listen 80;
    server_name asapi.deepx1.com;

    # 禁用自动重定向到尾部斜杠
    merge_slashes off;

    location /api {
        proxy_pass http://127.0.0.1:8001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        
        # 重要：不要重写 Location 头，除非必要
        # proxy_redirect http://127.0.0.1:8001/ http://asapi.deepx1.com/;
        
        # 如果必须重写，使用正确的格式
        # proxy_redirect http://127.0.0.1:8001/ http://$host/;
        
        # 禁用重定向跟随（让浏览器处理）
        proxy_redirect off;
    }
}
```

## 检查步骤

1. **检查 Nginx 配置**
   ```bash
   sudo nginx -t
   sudo nginx -s reload
   ```

2. **检查 FastAPI 日志**
   ```bash
   tail -f backend/logs/api.log
   ```

3. **测试 API 端点**
   ```bash
   curl -v http://asapi.deepx1.com/api/trades?limit=10
   ```

## 已修复的问题

- ✅ FastAPI 应用级别禁用自动重定向（`redirect_slashes=False`）
- ✅ 路由同时支持有斜杠和无斜杠的路径
- ✅ 前端 API 调用统一使用无斜杠路径

## 如果问题仍然存在

1. 检查 Nginx 错误日志：`/var/log/nginx/error.log`
2. 检查 Nginx 访问日志：`/var/log/nginx/access.log`
3. 临时禁用 Nginx，直接访问 FastAPI：`http://服务器IP:8001/api/trades`
