changki123's Foundation

Apache로 만드는 나만의 웹 포탈: Virtual Host와 리다이렉션의 마법!

2024. 11. 12. 21:50 | Apache HTTP Server


728x90

Apache 서버에서 Virtual Host 설정을 사용해 특정 도메인에 대해 리다이렉션을 설정하는 방법을 다룹니다. 이 설정을 통해 test1.com에 접속하면 www.test1.com으로 자동으로 이동되며, 리다이렉션 유형(301 영구 또는 302 임시)을 선택할 수 있습니다. 방화벽과 포트 접근 설정도 포함되어 있어, 서버 보안을 유지하면서 리다이렉션을 구현할 수 있습니다. 최종적으로 curl 명령어를 통해 리다이렉션이 제대로 적용되었는지 확인할 수 있습니다.

 

사전 준비

Apache(httpd)가 정상적으로 작동하는지 확인합니다.

 

 

호스트 파일에 도메인 정보 추가

# sudo vi /etc/hosts

아래와 같이 설정하여 test1.comwww.test1.com 도메인을 로컬에서 인식할 수 있도록 합니다.  

127.0.0.1 test1.com www.test1.com

 

 

Virtual Host 설정

Apache 설정 파일(httpd.conf) 수정

# vi /etc/httpd/conf/httpd.conf

아래와 같이 VirtualHost 설정을 추가하여 test1.com 도메인에 접속 시 www.test1.com으로 리다이렉트되도록 구성합니다. 

301 리다이렉션 (영구 리다이렉션) 설정

<VirtualHost *:8000>
    ServerName test1.com
    Redirect 301 / http://www.test1.com:8000/
</VirtualHost>

<VirtualHost *:8000>
    ServerName www.test1.com
    DocumentRoot /var/www/html
</VirtualHost>

302 리다이렉션 (임시 리다이렉션) 설정이 필요한 경우, Redirect 301을 Redirect 302로 변경합니다.

 

 

방화벽 설정

http 서비스를 방화벽에 추가하고, 방화벽을 재시작합니다.

# sudo firewall-cmd --add-service=http --permanent
# sudo firewall-cmd --reload

iptables를 사용하여 포트 80 접근 허용

# sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# sudo iptables-save

 

 

Apache 서버 재시작

# sudo systemctl restart httpd

 

 

리다이렉션 확인

리다이렉션이 잘 작동하는지 확인하기 위해 curl 명령어를 사용하여 test1.com에 접속합니다.

# curl -I http://test1.com:8000/

 

  • 301 Moved Permanently가 표시되면 영구 리다이렉션이 정상적으로 작동하는 것을 의미합니다.
  • 302 리다이렉션(임시 리다이렉션) 테스트가 필요하다면 Redirect 301을 Redirect 302로 변경한 후 테스트를 진행합니다.

 

ㅋㅋ

 

728x90

'Apache HTTP Server' 카테고리의 다른 글

Apache 로드밸런싱 비법서  (0) 2024.11.05
여기부터는 mod_proxy  (1) 2024.11.03