문제 상황: docker를 돌리고 요청을 보내 보는데 계속 502가 뜸

2024-11-13 00:18:23 2024/11/12 15:18:23 [error] 29#29: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: localhost, request: "GET /api/test HTTP/1.1", upstream: "<http://172.18.0.2:3000/api/test>", host: "localhost", referrer: "<http://localhost:5173/>"
2024-11-13 00:18:23 172.18.0.1 - - [12/Nov/2024:15:18:23 +0000] "GET /api/test HTTP/1.1" 502 559 "<http://localhost:5173/>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" "-"
2024-11-13 00:18:24 172.18.0.1 - - [12/Nov/2024:15:18:24 +0000] "GET /api/test HTTP/1.1" 502 559 "<http://localhost:5173/>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36" "-"
2024-11-13 00:18:24 2024/11/12 15:18:24 [error] 29#29: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: localhost, request: "GET /api/test HTTP/1.1", upstream: "<http://172.18.0.2:3000/api/test>", host: "localhost", referrer: "<http://localhost:5173/>"

nginx에서 api-server로의 연결을 할 수 없다 이런 내용이었음

확인해 보니 api-server 컨테이너는 잘 돌아가고 있고, 네트워크 연결도 괜찮음 (ping 잘 됨)

하지만 api-server 컨테이너 로그를 확인해 보니

api-server  | 
api-server  | [3:08:55 PM] Found 0 errors. Watching for file changes.
api-server  | 
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM     LOG [NestFactory] Starting Nest application...
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM     LOG [InstanceLoader] AppModule dependencies initialized +21ms
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM     LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM     LOG [InstanceLoader] ConfigHostModule dependencies initialized +0ms
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM     LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
api-server  | [Nest] 29  - 11/12/2024, 3:08:59 PM   ERROR [ExceptionHandler] winston_daily_rotate_file_1.default is not a constructor
api-server  | TypeError: winston_daily_rotate_file_1.default is not a constructor
api-server  |     at InstanceWrapper.getWinstonConfig (/app/src/configs/logger.config.ts:38:7)
api-server  |     at Injector.instantiateClass (/app/node_modules/@nestjs/core/injector/injector.js:368:55)
api-server  |     at callback (/app/node_modules/@nestjs/core/injector/injector.js:65:45)
api-server  |     at async Injector.resolveConstructorParams (/app/node_modules/@nestjs/core/injector/injector.js:144:24)
api-server  |     at async Injector.loadInstance (/app/node_modules/@nestjs/core/injector/injector.js:70:13)
api-server  |     at async Injector.loadProvider (/app/node_modules/@nestjs/core/injector/injector.js:97:9)
api-server  |     at async /app/node_modules/@nestjs/core/injector/instance-loader.js:56:13
api-server  |     at async Promise.all (index 5)
api-server  |     at async InstanceLoader.createInstancesOfProviders (/app/node_modules/@nestjs/core/injector/instance-loader.js:55:9)
api-server  |     at async /app/node_modules/@nestjs/core/injector/instance-loader.js:40:13

내부적으로 typeError가 나서 서버가 요청을 받지 못하는 것이었다…

logger.config.ts에서

import DailyRotateFile from 'winston-daily-rotate-file';

가 아니라

import * as DailyRotateFile from 'winston-daily-rotate-file';

이런 식으로 사용해야 하는 거였음

근데 저걸 해결하고 나니 mysql 연결이 안 되기 시작

2024-11-13 00:31:45 AggregateError [ECONNREFUSED]: 
2024-11-13 00:31:45     at internalConnectMultiple (node:net:1121:18)
2024-11-13 00:31:45     at afterConnectMultiple (node:net:1688:7)
2024-11-13 00:31:48 [Nest] 28  - 11/12/2024, 3:31:48 PM   ERROR [TypeOrmModule] Unable to connect to the database. Retrying (2)...

에러 메세지가 두루뭉술해서 뭔가 싶었는데

.env 복붙 과정에서