728x90
Node.js의 프레임워크인 Express를 알아보고자
AWS의 EC2서비스에 우분투18으로 인스턴스를 추가하고 Express설치를 했다.
근데 테스트해봐야지 하고 브라우저에서 'http://인스턴스아이피:3000'을 아무리 호출해도 접근이 되지 않는 문제가 발생했다.
'뭐가 문제지..'하고 EC2의 보안설정도 확인하고 ufw도 확인하고 iptables도 다 확인했는데 도무지 접근이 안되었다..
혼자서 끙끙대다가 회사의 인프라팀장님께 도움을 받았는데 문제의 원인은 소스코드에 있었다.
app.js의 소스코드는 아래와 같았는데
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
여기서 문제가 발생하게 되었던 부분은 'hostname'쪽이었다.
hostname을 '127.0.0.1'이 아니라 인스턴스의 eth0아이피로 설정해주니 외부에서 접근이 되며 해결이 되었다.
-----------------------------------------------------------------------------------------------
착오가 있었다.
express를 설치했는데 접근이 되지 않았던 문제가 아니었다.
위의 소스코드는 node.js로 hello world를 표시하는 웹서버 코드였다.
그냥 익스프레스를 설치하니 따로 호스트네임을 설정하지 않아도 바로 접근이 되었다.
휴우..ㅋㅋㅋㅋ
728x90
'개발 > 삽질 기록' 카테고리의 다른 글
[Tool] Microsoft Visual Studio에서 scanf 오류날때 (0) | 2022.05.10 |
---|---|
[Tool] Microsoft Update Health Tools 는 뭘까? (1) | 2021.10.12 |
[PHP] 코드이그나이터(Codeigniter) 설치 (0) | 2019.04.03 |
[C#] String과 string의 차이 (0) | 2017.09.15 |
[Tool] 전자정부 프레임워크 실행오류 - 메이븐 (0) | 2017.08.11 |