Apache 서버에서 Virtual Host 설정을 사용해 특정 도메인에 대해 리다이렉션을 설정하는 방법을 다룹니다. 이 설정을 통해 test1.com에 접속하면 www.test1.com으로 자동으로 이동되며, 리다이렉션 유형(301 영구 또는 302 임시)을 선택할 수 있습니다. 방화벽과 포트 접근 설정도 포함되어 있어, 서버 보안을 유지하면서 리다이렉션을 구현할 수 있습니다. 최종적으로 curl 명령어를 통해 리다이렉션이 제대로 적용되었는지 확인할 수 있습니다.
사전 준비
Apache(httpd)가 정상적으로 작동하는지 확인합니다.
호스트 파일에 도메인 정보 추가
# sudo vi /etc/hosts
아래와 같이 설정하여 test1.com 및 www.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로 변경한 후 테스트를 진행합니다.
ㅋㅋ
'Apache HTTP Server' 카테고리의 다른 글
Apache 로드밸런싱 비법서 (0) | 2024.11.05 |
---|---|
여기부터는 mod_proxy (1) | 2024.11.03 |