NginX가 80포트로 열려잇고, Spring 서버가 5000포트로 잘 열여있는지 확인하기 위해 SSH접속을 하겠습니다.
엘라스틱 빈스톡에서 유저 네임은 우분투가 아닌 ec2-user
입니다.
ps -ef
java -jar application.jar
라는 이름으로 프로세스가 작동하고 있습니다.
엘라스틱 빈스톡에 업로드 하면 Default
값입니다.
nginx
이름으로 돌고 있는 프로세스도 확인이 가능합니다.
netstat -nlpt
nginx
: 80 -> 0.0.0.0:*
모든 포트 접근가능
Spring server
: 5000 -> :::*
내부만 포트 접근
포트로 실행되고 있습니다.
웹브라우져 -> 로드밸런서(80포트) -> nginx(80포트) -> Spring Server(5000포트) 로 접근하게 됩니다.
따라서 5000포트는 내부에서만 접근 가능해도 상관이 없습니다.
sudo find / -name nginx
nginx
의 설정 파일은 nginx.conf 파일이고 /etc/nginx 경로에 위치합니다.
cd /etc/nginx
vi nginx/conf
서버 설정을 보니
포트
: 80
로그
: /var/log/nginx/access.log main
등등 설정이 되어있는 것을 확인할 수 있습니다.
server {
listen 80 default_server;
access_log /var/log/nginx/access.log main;
client_header_timeout 60;
client_body_timeout 60;
keepalive_timeout 60;
gzip off;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Include the Elastic Beanstalk generated locations
include conf.d/elasticbeanstalk/*.conf;
}
이제 include
에 지정된 경로로 가보겠습니다.
cd conf.d/elasticbeanstalk
00_application.conf
파일의 권한은 root 유저만 읽고 쓸 수 있고, 그룹, 다른 유저는 읽기만 할수 있습니다.
지금은 ec2-user
이기때문에 읽을수만 있습니다.
location / {
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
파일을 열어보면 location /
설정이 되어있습니다.
80포트
에 주소가 /
인 요청이 들어올 때의 설정입니다.
이 포트는 내부적으로만 호출이 됩니다.
여기서 proxy_pass http://127.0.0.1:5000
를 다른 port로 바꿔주면 원하는 포트로 바꿀수 있습니다!