Spaces:
Building
Building
File size: 5,293 Bytes
85bb794 b6abf23 85bb794 0fe2ec5 1d45550 85bb794 1d45550 85bb794 aa210ed 85bb794 1d45550 85bb794 aa210ed 04398c6 3743701 3fdaecc 3743701 85bb794 9942962 85bb794 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
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;
client_body_temp_path /var/cache/nginx/client_temp;
proxy_temp_path /var/cache/nginx/proxy_temp;
fastcgi_temp_path /var/cache/nginx/fastcgi_temp;
uwsgi_temp_path /var/cache/nginx/uwsgi_temp;
scgi_temp_path /var/cache/nginx/scgi_temp;
sendfile on;
keepalive_timeout 65;
# GZIP 压缩配置
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 定义限速区域
limit_req_zone $binary_remote_addr zone=api_limit:10m rate=10r/m;
# 更新 SSL 配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 优化 SSL 参数
ssl_prefer_server_ciphers on; # 优先使用服务器的密码套件
ssl_session_timeout 1d; # SSL 会话超时时间
ssl_session_cache shared:SSL:50m; # SSL 会话缓存
ssl_session_tickets off; # 禁用 session tickets
# 模拟 Chrome 的 ECDH 曲线
ssl_ecdh_curve X25519:prime256v1:secp384r1;
# 添加上游服务器 SSL 验证配置
proxy_ssl_protocols TLSv1.2 TLSv1.3;
proxy_ssl_ciphers HIGH:!aNULL:!MD5;
proxy_ssl_verify off; # 如果上游证书验证有问题,可以先关闭验证
proxy_ssl_server_name on; # 启用 SNI 支持
server {
listen 7860;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# Gemini v1 路由
location /gemini/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://generativelanguage.googleapis.com/v1/;
proxy_set_header Host generativelanguage.googleapis.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# Gemini v1beta 路由
location /gemini/v1beta/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://generativelanguage.googleapis.com/v1beta/;
proxy_set_header Host generativelanguage.googleapis.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# Groq OpenAI 路由
location /groq/openai/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://api.groq.com/openai/v1/;
proxy_set_header Host api.groq.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# Cohere 路由
location /cohere/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://api.cohere.ai/v1/;
proxy_set_header Host api.cohere.ai;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# XAI 路由
location /xai/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://api.x.ai/v1/;
proxy_set_header Host api.x.ai;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# Mistral 路由
location /mistral/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://api.mistral.ai/v1/;
proxy_set_header Host api.mistral.ai;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# GitHub 路由
location /github/v1/ {
# 启用限速
limit_req zone=api_limit burst=20 nodelay;
limit_req_status 429;
proxy_pass https://models.inference.ai.azure.com/;
proxy_set_header Host models.inference.ai.azure.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 错误页面配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
|