ec2 서버에 node js깔았고 RDS 인스턴스로 MariaDB도 사용중임


ec2-user로 rds 접근도 잘되고 데베 가동시 전혀 문제가 없음




그리고 보안그룹 문제인 것 같아서


TCP 3000, HTTP 80, MySQL/AURORA 3306, SSH 22 등등


일단 테스트니까 0.0.0.0 에서 접근가능하도록 포트 보안 그룹 설정해놓음




근데 오늘 안드로이드 로그인 처리하는데


자꾸 오류가 떠서 3일째 미쳐 죽겠음


다다음주 제출인데 하루에 8시간씩 해결하려해도 질문받아줄 사람도 없고 진짜 너무 괴로움






에러는 "로그인 에러 발생" failed to connect to ec2-xx.xxx.xxx.xx.ap-xxxx.xxxx.xxxx.amazonaws.com/ec2 ip4 DNS주소 (port 3000) from /xx.x.x.xx (port 51324) after 9999ms




진짜 왜 오류가 나는걸까






서버 실행도 문제 없고 안드로이드에서 로그인 처리만 하면 저꼴나.


안드로이드에서 base url을 http://ec2ip4DNS주소:3000 으로 해놓았고




서버에서 돌리는 node js 파일 첨부할게



var mariadb = require('mariadb');

var express = require('express');

var bodyParser = require('body-parser');

var app = express();


app.use(bodyParser.json());

app.use(bodyParser.urlencoded({extended: true}));


app.listen(3000, 'localhost', function () {

console.log('서버 실행 중...');

});


var connection = mariadb.createConnection({

host: "엔드포인트주소이름(rds엔드포인트임)",

user: "루트이름",

database: "db이름",

password: "루트비밀번호",

port: 3306

});



app.post 여기서부터는 첨부하면 오류나길래 이미지 파일로 올려볼게(이해좀..)



그리고 ec2서버에서 

netstat -ntpl 치면 port 3000은 안나옴


그래서 

sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT

하면

 sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:hbci
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:hbci

이렇게뜸...