# 定义 Nginx 运行的用户和用户组 (如果需要,通常基础镜像会处理) | |
# user nginx; | |
# worker_processes auto; # 让 Nginx 自动决定工作进程数 | |
# 指定 PID 文件路径到 /tmp 目录下,那里通常有写入权限 | |
pid /tmp/nginx.pid; | |
# 错误日志路径 (可以保持默认或按需修改) | |
# error_log /var/log/nginx/error.log warn; | |
# events 块定义连接处理模型 | |
events { | |
worker_connections 1024; # 每个工作进程允许的最大连接数 | |
} | |
# http 块定义 HTTP 服务器相关配置 | |
http { | |
# --- 新增:指定临时文件路径到 /tmp --- | |
# Nginx 存放客户端请求体的临时文件路径 | |
client_body_temp_path /tmp/client_body_temp; | |
# Nginx 存放从后端服务器接收到的数据的临时文件路径 (用于 proxy_pass) | |
proxy_temp_path /tmp/proxy_temp; | |
# (下面几个通常用不到,但也加上以防万一) | |
fastcgi_temp_path /tmp/fastcgi_temp; | |
uwsgi_temp_path /tmp/uwsgi_temp; | |
scgi_temp_path /tmp/scgi_temp; | |
# --- 新增结束 --- | |
# 包含 MIME 类型定义 | |
include /etc/nginx/mime.types; | |
# 默认文件类型 | |
default_type application/octet-stream; | |
# 日志格式 (可选) | |
# log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
# '$status $body_bytes_sent "$http_referer" ' | |
# '"$http_user_agent" "$http_x_forwarded_for"'; | |
# access_log /var/log/nginx/access.log main; | |
# 启用 sendfile 优化文件传输 | |
sendfile on; | |
# tcp_nopush on; | |
# 连接保持超时 (可选) | |
# keepalive_timeout 65; | |
# 启用 Gzip 压缩 (可选) | |
# gzip on; | |
# 定义我们的反向代理服务器 | |
server { | |
# 监听 8080 端口 | |
listen 8080; | |
# 服务器名,接受所有指向这个 Space 的域名 | |
server_name _; | |
# 处理所有以 /ai/ 开头的请求 | |
location /ai/ { | |
# 重写 URL,去掉 /ai/ 前缀 | |
rewrite ^/ai/(.*)$ /$1 break; | |
proxy_ssl_server_name on; | |
proxy_ssl_protocols TLSv1.2 TLSv1.3; | |
proxy_ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH; | |
# 转发请求到目标服务器 | |
proxy_pass https://cc.cwapi.me; | |
# --- 保持这些重要的头部设置 --- | |
proxy_set_header Host $host; # 注意这里可能需要改成 proxy_set_header Host cc.cwapi.me; 如果你的后端服务需要正确的 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; | |
proxy_set_header Authorization $http_authorization; | |
# --- 缓冲区设置 (现在应该可以工作了) --- | |
proxy_buffers 16 16k; | |
proxy_buffer_size 32k; | |
# --- 增加超时设置 (可选,但对 API 调用有好处) --- | |
proxy_connect_timeout 60s; # 连接后端超时时间 | |
proxy_send_timeout 60s; # 发送请求到后端超时时间 | |
proxy_read_timeout 120s; # 读取后端响应超时时间 (API 可能需要较长时间响应) | |
} | |
# 处理根路径 / 的请求 | |
location / { | |
add_header Content-Type text/plain; | |
return 404 'Not Found: Please access via /ai/ path\n'; | |
} | |
# (可选) 将 Nginx 自身的错误日志定向到标准错误输出,方便在 HF Logs 查看 | |
error_log /dev/stderr warn; | |
# (可选) 将 Nginx 的访问日志定向到标准输出 | |
access_log /dev/stdout; # 可以用上面的 log_format main; | |
} | |
# (可选) 你可以禁用错误日志到文件,如果你不希望它们写入容器文件系统 | |
# error_log /dev/null crit; # 禁用错误日志文件 | |
} | |