server { listen 80; server_name aidemo.23544.com; # 替换为你的域名或 IP root /usr/share/nginx/html; index index.html; # 跨域响应头(FFmpeg WASM 必需) add_header Cross-Origin-Opener-Policy "same-origin" always; add_header Cross-Origin-Embedder-Policy "require-corp" always; # Vue Router History 模式:所有路由回退到 index.html location / { try_files $uri $uri/ /index.html; } # 代理:豆包 TTS location /tts-api/ { proxy_pass https://openspeech.bytedance.com/; proxy_ssl_server_name on; proxy_set_header Host openspeech.bytedance.com; } # 代理:火山引擎 Ark location /ark-api/ { proxy_pass https://ark.cn-beijing.volces.com/; proxy_ssl_server_name on; proxy_set_header Host ark.cn-beijing.volces.com; } # 代理:阿里云百炼 location /dashscope-api/ { proxy_pass https://dashscope.aliyuncs.com/; proxy_ssl_server_name on; proxy_set_header Host dashscope.aliyuncs.com; } # 代理:豆包 ASR WebSocket(需注入鉴权 Header) location /asr-ws/ { proxy_pass https://openspeech.bytedance.com/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host openspeech.bytedance.com; proxy_ssl_server_name on; # 注入豆包 ASR 鉴权 Header(替换为实际值) proxy_set_header X-Api-App-Key "YOUR_DOUBAO_APP_ID"; proxy_set_header X-Api-Access-Key "YOUR_DOUBAO_ACCESS_TOKEN"; proxy_set_header X-Api-Resource-Id "volc.bigasr.sauc.duration"; } # 静态资源缓存 location /assets/ { expires 1y; add_header Cache-Control "public, immutable"; add_header Cross-Origin-Opener-Policy "same-origin" always; add_header Cross-Origin-Embedder-Policy "require-corp" always; } }