하츠의 꿈

Apache 302 error 원인과 해결방법 본문

엔지니어스 마인드/Linux&Unix

Apache 302 error 원인과 해결방법

명섭이 2010. 3. 29. 13:23

Apache 302 error는 메뉴얼에 보면 Moved temporarily 이라고 되어 있다. 참 알기 어려운 암호같은 말... 한국말로 풀이해보면 임시로 옮겼다??  웹서버의 요청에 문제가 있어서 임시 URL로 옮겼다는 것 같다.

오늘 아파치에 새로운 도메인을 셋팅하고 난 후 웹브라우저에서 확인해보니, 약 1분 동안  해당 웹페이지를 계속 찾다가 멈춰버리는 오류가 발생했다.

아파치의 access_log 파일을 확인해보니 위와 같이 302 오류가 주루~룩 뜨는 것을 확인할 수 있었다. 즉, 웹서버가 뭔가 하려고 했는데 되지 않아 계속 찾다가 멈춰버리는 것이었다.

 

 

 

httpd.conf 파일의 내용

<VirtualHost *:80>
ServerAdmin info@xxxxx.com
ServerName xxxxx.co.kr
ServerAlias xxxxx.kr www.xxxxx.kr
RewriteEngine On
RewriteLogLevel 1
RewriteLog "/dev/null"
RewriteRule ^/(.*)$ http://www.xxxxx.co.kr/$1 [NC,L,R]
</VirtualHost>

<VirtualHost *:80>
ServerAdmin info@xxxxx.com
DocumentRoot /$WEBROOT/
ServerName www.bbb.co.kr
<Directory /$WEBROOT>
    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

첫번째 VirtualHost 내용은 xxxxx.co.kr, xxxxx.kr, www.xxxxx.kr 로 요청이 오면 Rewrite Rule 을 이용해서 www.xxxxx.co.kr 로 이동시키라는 것이다. Rewrite Rule을 이용하는 이유는 요청한 URL의 도메인 만 변경하고 나머지 부분은 그대로 옮겨가기 위해서이다.

그런데, 302 오류가 나는 것이고...

가만히 살펴보니 www.xxxxx.co.kr 가 있어야 할 아래의 VirtualHost 부분에 www.bbb.co.kr 로 되어 있던 것이다. VirtualHost 부분을 다른 곳에서 복사해서 붙여넣기 하다가 이 부분을 수정하기 않은 것이다.

 

Apache 302 error 는 웹서버 요청에 대응하는 설정이 잘못되었을 때 발생할 수 있는 오류이다. 다른 이유가 있을 수도 있겠지만 내가 아는 것 여기까지!  Rewrite Rule을 이용할 때는 잘 살펴봐야겠다~

 

 


Comments