修复清智创游官网引擎下载接口路由
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust lane 1/2 (push) Has been cancelled
Project CI / AI game creator shell Rust lane 2/2 (push) Has been cancelled
Project CI / AI game creator shell Rust smoke (push) Has been cancelled

新增 tsingnovagames.com 独立 Nginx vhost 并代理 /api 到 api-server
补充官网 /home/ 静态首页与下载接口回归测试
同步生产运维验收与排障说明
This commit is contained in:
2026-09-30 14:12:34 +08:00
parent fb130d1847
commit 05bf69f2c2
5 changed files with 131 additions and 0 deletions
+73
View File
@@ -47,6 +47,79 @@ server {
}
}
# 清智创游官网独立静态站点:根页面位于 /home/index.html,API 仍由当前 api-server 提供。
# 该 vhost 不依赖主站 SERVER_ALIASES,避免域名落入静态站点后对 /api 返回 Nginx 404。
server {
listen 80;
server_name tsingnovagames.com www.tsingnovagames.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name tsingnovagames.com www.tsingnovagames.com;
access_log /var/log/nginx/genarrative.access.log genarrative_upstream;
error_log /var/log/nginx/genarrative.error.log warn;
ssl_certificate /etc/letsencrypt/live/genarrative.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/genarrative.example.com/privkey.pem;
root /srv/genarrative/web;
index index.html;
include /etc/nginx/snippets/genarrative-maintenance.conf;
location ~ ^/api(?:/|$) {
default_type application/json;
client_max_body_size 210m;
limit_conn genarrative_api_conn 64;
limit_req zone=genarrative_api_rps burst=64 nodelay;
if ($genarrative_maintenance) {
return 503 '{"ok":false,"error":{"code":"MAINTENANCE","message":"服务维护中"}}';
}
proxy_pass http://genarrative_api;
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
add_header X-Accel-Buffering no always;
proxy_set_header Connection "";
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;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Request-Id $request_id;
}
location = / {
error_page 503 /maintenance.html;
if ($genarrative_maintenance) {
return 503;
}
try_files /home/index.html =404;
}
location ^~ /home/ {
try_files $uri $uri/ =404;
}
location / {
error_page 503 /maintenance.html;
error_page 404 /404.html;
if ($genarrative_maintenance) {
return 503;
}
try_files $uri $uri/ =404;
}
}
server {
listen 443 ssl http2;
server_name genarrative.example.com;
@@ -112,6 +112,19 @@
},
"docs": ["`/assets/*`"]
},
{
"id": "official_home_assets",
"samplePath": "/home/assets/index.js",
"expect": {
"kind": "static",
"root": "web",
"mode": "exact"
},
"nginx": {
"production": ["location ^~ /home/", "try_files $uri $uri/ =404;"]
},
"docs": ["/home/"]
},
{
"id": "generic_api_proxy",
"samplePath": "/api/assets/history",