개발자
제가 제대로 이해하고 있는지 확인하고자 질문드립니다 route53와 alb(ssl인증서)를 통해 도메인과 ec2 인스턴스 연결하엿습니다 도메인으로 접속시에는 route53와 alb를 거쳐 인스턴스로 연결되고, 인스턴스의 ip로 접근시에는 위를 거치지 않고 바로 인스턴스로 연결 되나요? 추가로 한가지 궁금한점이 ip로 접속시 도메인으로 리다이렉트 하려면 어떻게 해야하나요? (스프링부트 사용중입니다 기본적으로 내장 웹서버가 설치 되어있는걸로 인지하고 있는데 어떻게 웹서버 설정을 할수 있는지 잘 모르겠네요ㅠ) 감사합니다!!
답변 1
인기 답변
1. 인스턴스의 IP로 접속하면 ALB를 거치지 않습니다. 도메인은 바로 쓸 수 있는 주소가 아닙니다. 도메인의 IP 주소를 알고 있는 네임 서버라는 곳에 질의해서 IP를 얻어야 사용할 수 있습니다. 인스턴스의 IP 주소는 네임 서버를 거칠 필요가 없는 실제 주소이므로 직접 접속하게 됩니다. 2. IP로 접속하는 것이 부적절하다고 생각된다면 보안그룹으로 막으세요. 우선 사용자가 ALB를 거쳐서 접속했는지, 인스턴스의 IP를 직접 입력해 접속했는지 구분할만한 방법이 마땅히 없습니다. 리다이렉트를 원하게 된 이유는 인스턴스의 IP를 직접 입력해서 접속하는 것을 막고 싶어서겠죠? 그럼 리다이렉트를 할 게 아니라 그냥 막으면 됩니다. EC2 인스턴스의 보안그룹을 ALB에 대해서만 열어 놓으세요. 이렇게 되면 ALB를 거쳐서 오는 트래픽만 허용하게 될 것입니다.
익명
작성자
2023년 11월 06일
자세한 답변 감사합니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 11월 03일
네, 그대로 이해하셨습니다. 도메인 이름을 통해 접근하면 Route 53과 ALB를 거쳐 EC2 인스턴스로 연결됩니다. 반면에, 인스턴스의 IP 주소를 직접 사용하여 접근하는 경우는 Route 53과 ALB를 거치지 않습니다. IP에서 도메인으로 리다이렉트하기 위해서는 웹 서버(예: Apache or Nginx) 또는 애플리케이션 코드에서 리다이렉트 설정을 해야합니다. Apache의 경우 .htaccess 파일을 아래와 같이 수정하시면 됩니다: ``` RewriteEngine on RewriteCond %{HTTP_HOST} ^123\.456\.789\.000 [OR] RewriteCond %{HTTP_HOST} ^www\.123\.456\.789\.000 RewriteRule ^/?$ "http\:\/\/www\.yourdomain\.com" [R=301,L] ``` Nginx의 경우 설정은 아래와 같습니다: ``` server { listen 80; server_name your_ip; return 301 http://yourdomain.com$request_uri; } ``` 위 예제들은 웹 서버가 설치되어 있고, 웹 서버 레벨에서 리다이렉션을 처리 가능한 상황을 가정한 것입니다. 이외에도 애플리케이션 코드 레벨에서 처리하는 방법 등 다양한 방법이 존재합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!