엘라스틱 빈스톡 환경 구축 후
NginX가 80포트로 열려잇고, Spring 서버가 5000포트로 잘 열여있는지 확인하기 위해
SSH접속을 하겠습니다.
NginX의 location / { } 안에서 proxy_pass의 값을 변경하면 5000포트가 아닌 다른 포트로 변경 가능합니다!
이제 정말 변경이 가능한지 확인해 보겠습니다.
실행중인 프로세스 확인
엘라스틱 빈스톡에서 유저 네임은 우분투가 아닌 ec2-user입니다.
ps -ef
java -jar application.jar 라는 이름으로 프로세스가 작동하고 있습니다.
application.jar는 엘라스틱 빈스톡에 업로드 하면 Default jar파일 값입니다.
nginx이름으로 돌고 있는 프로세스도 확인이 가능합니다.
포트 확인
netstat -nlpt
nginx : 80 -> 0.0.0.0:* 모든 포트 접근가능
Spring server : 5000 -> :::* 내부만 포트 접근
포트로 실행되고 있습니다.
웹브라우져 -> 로드밸런서(80포트) -> nginx(80포트) -> Spring Server(5000포트) 로 접근하게 됩니다.
따라서 5000포트는 내부에서만 접근 가능해도 상관이 없습니다.
NginX
sudo find / -name nginx
nginx의 설정 파일은 nginx.conf 파일이고 /etc/nginx 경로에 위치합니다.
cd /etc/nginx
vi nginx/conf
nginx 서버 설정
서버 설정을 보니
포트 : 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로 바꿔주면 원하는 포트로 바꿀수 있습니다!
'AWS' 카테고리의 다른 글
엘라스틱빈톡 & DB & CI/CD 배포하기 1 (CI/CD, Webhock - GitAction) (0) | 2023.11.13 |
---|---|
엘라스틱빈스톡 RDS 결합 배포 (VPC) (0) | 2023.11.12 |
AWS 엘라스틱 빈스톡 내부 구성 이해하기 (0) | 2023.11.12 |
AWS 재배포 직접 해보기 및 crontab 문제점 파악 (0) | 2023.11.11 |
crontab 배포 스크립트로 스프링 서버 재시작하기 (1) | 2023.11.11 |