배포를 하기 전에...
흑우집합소 테섭에 배포를 하고나서 몇 가지 테스트를 진행하던 도중 pm2 로그를 잠시 확인했다.
저기 보면 clientIp라고 되어 있는 곳에 IP가 뜨는데 뭔가 좀 이상했다...
IpV4가 나와야 하는데 IpV6 형식으로 나왔다.
사실 큰 상관은 없을 것 같은데 그래도 서버 내에서 로깅이나 확인할 때 IpV6 형식으로 되어 있다면 불편할 것 같았다.
그래서 이걸 V4 형식으로 바꿨다.
방법은 여러가지가 있지만, 제일 쉽고 아무것도 설치하지 않아도 되는 방식으로 했다.
async function bootstrap() {
const app = await NestFactory.create(AppModule, { bodyParser: true })
//Some init
await app.listen(4000, "0.0.0.0")
console.log(new Date(), "[SERVER-ON] = ", process.env.NODE_ENV)
}
저렇게 app.listen함수 뒤에 전달인자로 hostname을 전달해주면 된다.
저 함수를 타보면 아래와 같은 형태이다.
/**
* Starts the application.
*
* @param {number|string} port
* @param {string} [hostname]
* @param {Function} [callback] Optional callback
* @returns {Promise} A Promise that, when resolved, is a reference to the underlying HttpServer.
*/
listen(port: number | string, callback?: () => void): Promise<any>;
listen(port: number | string, hostname: string, callback?: () => void): Promise<any>;
저 hostname에 ipv4 형식을 문자열로 전달하면 이제 Nest.Js 내에서 ip 주소 표현은 IpV4로 바뀌게 된다.