Skip to content

Commit e15e85c

Browse files
committed
fix: add MySQL TLS support using dialectOptions.ssl and DB_SSL_REQUIRED env
1 parent bc6187e commit e15e85c

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/core/config.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ export const config = {
3636
port: toNumber(process.env.RDS_PORT, 3306),
3737
dialect: 'mysql',
3838
logging: false,
39+
dialectOptions: toBool(process.env.DB_SSL_REQUIRED)
40+
? {
41+
ssl: {
42+
require: false,
43+
// 관리형 MySQL에서 self-signed 또는 CA 정보 안 주는 경우가 많아서, 일단 빠르게 붙는 용도로 false. 추후 CA 넣어서 true로 바꾸는 게 베스트.
44+
rejectUnauthorized: toBool(process.env.DB_SSL_REJECT_UNAUTHORIZED) ?? false,
45+
},
46+
}
47+
: {},
3948
},
4049
// Config for qiniu (http://www.qiniu.com/) cloud storage when storageType value is "qiniu".
4150
qiniu: {

src/core/utils/connections.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ export const redisClient = redisTlsUrl
4444

4545
// 에러 로깅 (Unhandled 'error' 로 인한 앱크래시 방지)
4646
redisClient.on('error', (err) => {
47-
logger.error('Redis Client Error', err?.message || JSON.stringify(err));
47+
logger.error('Redis Client Error', { message: err?.message, stack: err?.stack });
4848
});
4949

5050
// connect 시도 (커넥션 실패시 앱크래시 방지)
5151
redisClient.connect().catch((err) => {
52-
logger.error('Redis connect error', err);
52+
logger.error('Redis connect error', { message: err?.message, stack: err?.stack });
5353
});

0 commit comments

Comments
 (0)