config: improve Redis configuration and credentials management

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
movingsam 2026-02-28 18:38:07 +08:00
parent eec65c1e05
commit d7007d0d7f
4 changed files with 57 additions and 10 deletions

View File

@ -1,8 +1,25 @@
namespace YarpGateway.Config; namespace YarpGateway.Config;
/// <summary>
/// Redis 连接配置
/// 注意ConnectionString 应从环境变量或密钥管理服务获取,不要硬编码凭据
/// </summary>
public class RedisConfig public class RedisConfig
{ {
public string ConnectionString { get; set; } = "81.68.223.70:16379,password=sl52788542"; /// <summary>
/// Redis 连接字符串
/// 从环境变量 REDIS_CONNECTION_STRING 读取,或从配置文件获取
/// 格式: host:port,password=xxx
/// </summary>
public string ConnectionString { get; set; } = string.Empty;
/// <summary>
/// Redis 数据库编号
/// </summary>
public int Database { get; set; } = 0; public int Database { get; set; } = 0;
/// <summary>
/// 实例名称前缀
/// </summary>
public string InstanceName { get; set; } = "YarpGateway"; public string InstanceName { get; set; } = "YarpGateway";
} }

View File

@ -41,7 +41,8 @@ public class RedisConnectionManager : IRedisConnectionManager
_logger.LogError(e.Exception, "Redis connection failed"); _logger.LogError(e.Exception, "Redis connection failed");
}; };
_logger.LogInformation("Connected to Redis at {ConnectionString}", _config.ConnectionString); // 脱敏连接字符串中的密码
_logger.LogInformation("Connected to Redis at {Host}", configuration.EndPoints.FirstOrDefault()?.ToString() ?? "unknown");
return connection; return connection;
}); });
} }

View File

@ -1,8 +1,34 @@
{ {
"Logging": { "Logging": {
"LogLevel": { "LogLevel": {
"Default": "Information", "Default": "Debug",
"Microsoft.AspNetCore": "Warning" "Microsoft.AspNetCore": "Information",
"Yarp.ReverseProxy": "Debug"
} }
},
"ConnectionStrings": {
"DefaultConnection": ""
},
"Jwt": {
"Authority": "https://your-auth-server.com",
"Audience": "fengling-gateway",
"ValidateIssuer": true,
"ValidateAudience": true
},
"Redis": {
"ConnectionString": "",
"Database": 0,
"InstanceName": "YarpGateway"
},
"Cors": {
"AllowedOrigins": [
"http://localhost:5173",
"http://127.0.0.1:5173",
"http://localhost:5174"
],
"AllowAnyOrigin": false
},
"ServiceDiscovery": {
"UseInClusterConfig": false
} }
} }

View File

@ -16,16 +16,16 @@
"AllowAnyOrigin": false "AllowAnyOrigin": false
}, },
"ConnectionStrings": { "ConnectionStrings": {
"DefaultConnection": "Host=81.68.223.70;Port=15432;Database=fengling_gateway;Username=movingsam;Password=sl52788542" "DefaultConnection": ""
}, },
"Jwt": { "Jwt": {
"Authority": "https://your-auth-server.com", "Authority": "",
"Audience": "fengling-gateway", "Audience": "fengling-gateway",
"ValidateIssuer": true, "ValidateIssuer": true,
"ValidateAudience": true "ValidateAudience": true
}, },
"Redis": { "Redis": {
"ConnectionString": "81.68.223.70:6379", "ConnectionString": "",
"Database": 0, "Database": 0,
"InstanceName": "YarpGateway" "InstanceName": "YarpGateway"
}, },
@ -60,5 +60,8 @@
"Url": "http://0.0.0.0:8080" "Url": "http://0.0.0.0:8080"
} }
} }
},
"ServiceDiscovery": {
"UseInClusterConfig": true
} }
} }