사이트 내 전체검색
검색목록
[linux] IP 주소 접속을 도메인 주소로 바꾸기
로빈아빠
https://cmd.kr/server/253 URL이 복사되었습니다.

본문

IP 주소 접속을 도메인 주소로 바꾸기

먼저 아파치 모듈에 mod_rewrite 가 추가되어 있어야한다.
추가여부는 " # httpd -l "로 확인 할 수 있다.
없다면 추가를 해야한다. 주소를 새로 쓰는 것이기 때문에 rewrite 모듈은 꼭 필요하다.

추가 방법은 간단하다.
# ./configure --activate-module=src/modules/standard/mod_rewrite.c && make && make install

하면은 간단히 추가 설치가 된다. 단, 기존에 아파치 서버를 사용중인데 추가하려면 설치된 서버를 지울 필요 없이 그냥 중지시킨후에 덮어씌우기만 하면 된다.

위에서 --activate-module=src/modules/standard/mod_rewrite.c 만 추가 하면 되는 것이다.

이제는 이 모듈을 사용하는 것이다.

아파치 설치경로/conf/httpd.conf 를 수정하면 된다.(일반적으로 /usr/local/apache/conf/httpd.conf 이다)
---------------httpd.conf (http://oops.org의 김정균님 소스 참고)-------------
RewriteEngine on RewriteCond %{REQUEST_URI} !^/(.+)$ RewriteCond %{HTTP_HOST} ^([0-9]+\.)+[0-9]+ RewriteRule ^(.+)$ %{HTTP_HOST}$1 [C] RewriteRule ([0-9]+\.)+[0-9]+(.*) /Rewrite/index.php
------------------------------------------------------------------------------

위와 같이 %REQUEST_URI(/이하 내용)의 값을 요구할 경우에는 ip로도 접속 가능케 했다.

그 이유는 도메인 주소가 죽었을 때 아이피로도 접속이 가능케 하기 위해서다.
적용예시인 아래 파일을 보면 이해가 될 것이다.
이것을 추가 한뒤 웹문서 있는 곳에서 Rewrite라는 디렉토리를 만들고 index.php 라는 파일을 만들면 된다.
-----------------Rewrite/index.php---------------------------------------
<? 
$que = getenv("REQUEST_URI"); 
if (@file("http://sebul.sarang.net$que")) 
$path = "http://sebul.sarang.net$que"; 
else { 
if (@file("http://203.232.152.11x$que")) 
$path = "http://203.232.152.11x$que"; 
else 
$path = "http://203.232.152.11x/index.php"; 
} 
echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;URL=$path\">"; 
?> 

-------------------------------------------------------------------------

http://sebul.sarang.net 부분에 자신의 도메인을 넣으면 되는 것이다.

도메인 접속이 불가능 할 경우에는 ip로 가능케 했고, 요구한 파일이 없을 시에는 index.php 를 사용하게 되었다.
즉, 원리는 ip_address로 접속되면 룰에 따라서 Rewrite/index.php 로 가게 된다.
ip로 된 주소가 올 경우에 도메인주소로 바뀌는 과정에서 파일이 없다면(접속이 안된다면) ip주소 끝에 특정한 파일을 붙인다.
그 파일로 다시 접속이 재시도 되는 과정에서 룰을 벗어날 수가 있다.

댓글목록

등록된 댓글이 없습니다.

47 (1/1P)

Search

Copyright © Cmd 명령어 18.221.8.126