feat(FEAT-MO-001): 增加TDX直连配置与客户端

This commit is contained in:
2026-08-18 13:16:07 +08:00
parent 6eb34b5afe
commit c2fa929936
7 changed files with 240 additions and 0 deletions
@@ -50,6 +50,8 @@ describe('进程级运行配置', () => {
LOG_LEVEL: 'debug',
API_HOST: '127.0.0.1',
API_PORT: '3000',
TDX_BASE_URL: 'http://127.0.0.1:17710',
TDX_TIMEOUT_MS: '5000',
...baseRedisEnv,
...disabledMysqlEnv,
...disabledAiEnv,
@@ -129,6 +131,8 @@ describe('进程级运行配置', () => {
LOG_LEVEL: 'debug',
API_HOST: '127.0.0.1',
API_PORT: '3000',
TDX_BASE_URL: 'http://127.0.0.1:17710',
TDX_TIMEOUT_MS: '5000',
...baseRedisEnv,
...enabledMysql,
...disabledAiEnv,
@@ -138,12 +142,38 @@ describe('进程级运行配置', () => {
expect(() => loadApiConfig({ ...apiEnv, MYSQL_TIMEZONE: 'SYSTEM' })).toThrow(/MYSQL_TIMEZONE/);
});
it('TDX 只允许本机回环地址和固定端口', () => {
const apiEnv = {
APP_ENV: 'development',
LOG_LEVEL: 'debug',
API_HOST: '127.0.0.1',
API_PORT: '3000',
TDX_BASE_URL: 'http://127.0.0.1:17710',
TDX_TIMEOUT_MS: '5000',
...baseRedisEnv,
...disabledMysqlEnv,
...disabledAiEnv,
};
expect(() => loadApiConfig({ ...apiEnv, TDX_BASE_URL: 'http://192.168.28.106:17709' })).toThrow(
/TDX_BASE_URL 必须指向本机回环地址/,
);
expect(() => loadApiConfig({ ...apiEnv, TDX_BASE_URL: 'https://127.0.0.1:17710' })).toThrow(
/TDX_BASE_URL 必须使用 http 协议/,
);
expect(() => loadApiConfig({ ...apiEnv, TDX_BASE_URL: 'http://127.0.0.1:17711' })).toThrow(
/TDX_BASE_URL 必须使用 17710 端口/,
);
});
it('日志摘要不包含任何连接密码、密钥或未知字段', () => {
const config = loadApiConfig({
APP_ENV: 'development',
LOG_LEVEL: 'debug',
API_HOST: '127.0.0.1',
API_PORT: '3000',
TDX_BASE_URL: 'http://127.0.0.1:17710',
TDX_TIMEOUT_MS: '5000',
...baseRedisEnv,
...disabledMysqlEnv,
...disabledAiEnv,