시스템관리자의 쉼터 커피닉스 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

가입없이 누구나 글을 쓸 수 있습니다. 공지사항에 대한 댓글까지도..




BBS >> 설치, 운영 Q&A | 네트웍, 보안 Q&A | 일반 Q&A || 정보마당 | AWS || 자유게시판 | 구인구직 || 공지사항 | 의견제시
포워딩 서비스를 하려고 하는데 방법이 궁금합니다.

 
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
천재태지서주영
카페 관리자


가입: 2003년 10월 5일
올린 글: 32

올리기올려짐: 2003.10.30 목, 11:16 pm    주제: 포워딩 서비스를 하려고 하는데 방법이 궁금합니다. 인용과 함께 답변

안녕하세요? 포워딩 서비스를 하는데 어떤 방법으로 해야할지 고민중에 질문 드립니다.
지난번에 Rewrite 모듈은 잘 배웠습니다 ^^

제가 하려고 하는건 wo.to 나 ce.ro 처럼

http://wkehdck.wo.to
http://sby0818.wo.to

이런식으로 사용자들이 원하는 부분을 도메인 앞에 붙여서 포워딩을 해주고 싶습니다.
제가 wo.to 를 IP 11.22.33.44 에서 서비스한다고 치고 사용자가 abc.wo.to 라고 하면
이걸 my.netian.com/~abc 이런식으로 포워딩해주고 싶습니다.

우선 DNS 는 돌아가고 있고 DNS zone 파일에

abc IN A 11.22.33.44

라고 추가하면 되는건 알겠습니다.
그런데 Apache 에서 Virtual Host 로 받아서 저걸 처리해야 하는데 여기서 막히는군요.
Apache 메뉴얼을 보고 RewriteCond 를 사용해서 하려고 했는데 잘 안되네요.

<VirtualHost *>
ServerAdmin seoz@seoz.com
DocumentRoot /home/seoz/public_html
ServerName wo.to
ServerAlias wo.to *.wo.to
ErrorLog logs/wo.to-error_log
CustomLog logs/wo.to-access_log common

RewriteCond %{HTTP_HOST} ^[^.]+\.wo\.to$
RewriteRule ([^.]+)\.wo\.to(.*) /home/seoz/public_html/test.php?value=$1

</VirtualHost>

뭐 이런식으로도 해보고... 약간씩 변경해서 해봤는데 전혀 안되네요 -_-;;;
어떻게 해야하는지 조언부탁드립니다.

제가 원하는건 abc.wo.to 를 치면 그 서버의 /home/seoz/public_html/test.php 이 경로로 가서
value 에 따라서 포워딩 해주는 곳을 php 로 지정하는건데,
이 방법이 옳은건지...
아니면 DNS 나 Apache 차원에서 처리가 가능한지도 궁금합니다.
_________________
안녕하세요? 반갑습니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.10.31 금, 12:03 am    주제: Re: 홈페이지 포워딩 서비스 인용과 함께 답변

천재태지서주영 씀:
안녕하세요? 포워딩 서비스를 하는데 어떤 방법으로 해야할지 고민중에 질문 드립니다.
지난번에 Rewrite 모듈은 잘 배웠습니다 ^^

제가 하려고 하는건 wo.to 나 ce.ro 처럼

http://wkehdck.wo.to
http://sby0818.wo.to

이런식으로 사용자들이 원하는 부분을 도메인 앞에 붙여서 포워딩을 해주고 싶습니다.
제가 wo.to 를 IP 11.22.33.44 에서 서비스한다고 치고 사용자가 abc.wo.to 라고 하면
이걸 my.netian.com/~abc 이런식으로 포워딩해주고 싶습니다.

우선 DNS 는 돌아가고 있고 DNS zone 파일에

abc IN A 11.22.33.44

라고 추가하면 되는건 알겠습니다.
그런데 Apache 에서 Virtual Host 로 받아서 저걸 처리해야 하는데 여기서 막히는군요.
Apache 메뉴얼을 보고 RewriteCond 를 사용해서 하려고 했는데 잘 안되네요.

<VirtualHost *>
ServerAdmin seoz@seoz.com
DocumentRoot /home/seoz/public_html
ServerName wo.to
ServerAlias wo.to *.wo.to
ErrorLog logs/wo.to-error_log
CustomLog logs/wo.to-access_log common

RewriteCond %{HTTP_HOST} ^[^.]+\.wo\.to$
RewriteRule ([^.]+)\.wo\.to(.*) /home/seoz/public_html/test.php?value=$1

</VirtualHost>

뭐 이런식으로도 해보고... 약간씩 변경해서 해봤는데 전혀 안되네요 -_-;;;
어떻게 해야하는지 조언부탁드립니다.

제가 원하는건 abc.wo.to 를 치면 그 서버의 /home/seoz/public_html/test.php 이 경로로 가서
value 에 따라서 포워딩 해주는 곳을 php 로 지정하는건데,
이 방법이 옳은건지...
아니면 DNS 나 Apache 차원에서 처리가 가능한지도 궁금합니다.



지금 wo.to, ce.ro 서비스를 이용하지 않기 때문에 자세히 알 수는 없지만
http://sby0818.wo.to 을 접속해본 결과 실제 내용은 다음과 같더군요.

코드:

<title>dd</title>
<frameset rows=100%,* cols=1* border=0>
<frame src="http://www.crazyarcade.com">
<frame src="http://220.80.107.29/popup2.htm" noresize marginwidth=0 marginheight=0>
</frameset>


간단히 프레임을 쓴 것인데, 이런거라면 Rewrite Rule를 사용하지 않아도 될 듯 싶습니다.

index.php과 DB(어느 주소로 포워딩할 것인지 정보가 있는 DB)를 이용하면 쉽게 가능한 문제거든요.
index.php 내에서는 $_SERVER[HTTP_HOST] 환경변수에 도메인이 들어가 있으니 이걸 이용하세요.
sby0818.wo.to 이라면 sby0818 만 변수에서 분리해서 DB에 sby0818이 실제 어느 홈페이지정보를 알아낸후
위의 프레임 뿌리는대로 한다면 해결될 것 같습니다.

한 예를 들면 (체크하지 못한 부분도 있을지 모르니 참고 하세요.)

코드:

$service_domain = "\.ce\.ro";
$host = $_SERVER[HTTP_HOST];

// ID만 골라냄
$id   = preg_replace("/$service_domain$/i", "", $host);
$id   = strtolower($id);

// 이런 경우는 원하는 도메인형식 아니거나 IP로 접속을 시도한 경우 등
if ( $host == $id ) {
        ...
}

DB에서 서비스 주소 알아내고, frame 뿌려주고...


음악을 사랑하는 천재태지서주영님 ^^
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
천재태지서주영
카페 관리자


가입: 2003년 10월 5일
올린 글: 32

올리기올려짐: 2003.10.31 금, 9:35 am    주제: 와.. 감사합니다 인용과 함께 답변

truefeel 님 감사합니다 ㅡㅜ
아니 저렇게 간단한걸...
제가 괜히 복잡하게 생각했나보네요.
아파치의 가상호스트에 대한 이해가 부족했던것 같습니다.
ServerName 과 ServerAlias 때문에 그런지 하위 도메인이 달라도 모두 같은 곳으로 연결되는군요.
그걸 몰랐네요 ^^;;

한동안 골치 아팠는데 간단히 해결되니 아침부터 기분이 상쾌하고 좋네요 ^^

그런데요, truefeel, 좋은진호 두 닉네임을 쓰시는것 같은데 어떻게 불러야 되나요? ㅡㅡa
_________________
안녕하세요? 반갑습니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
천재태지서주영
카페 관리자


가입: 2003년 10월 5일
올린 글: 32

올리기올려짐: 2003.10.31 금, 9:40 am    주제: 아.. 그리고 인용과 함께 답변

저는 DB 말고 파일 처리를 할까 생각했어요.
파일에서 읽어들이는것이 매번 DB 접속하는것 보다 낫지 않을까 생각해서요.
도메인의 첫글자마다 파일을 하나씩 둬서 php 에서 require 나 include 해서 변수를 읽는 방식인데요,
도메인 첫 글자가 a 라면 a.php 에 배열로

코드:
$domain = array(
                "abcd"=>"11.22.33.44/index.php"
               , "aha"=>"my.netian.com/aha"
);


이런식으로 하면 부하가 좀 덜나가지 않을까 해서 생각해봤습니다 ^^;
만약 a 에 포워딩이 많이 몰리면 a1.php, a2.php 처럼 순차적으로 읽는 방법도 생각해봤는데 실제로는 그런 경우가 발생할것 같지는 않네요.
혹시 이 방법이 문제가 있으면 지적 부탁드려요.

실무 경험이 부족하다보니 제가 생각한 방식이 괜찮은건지 실제로 써도 되는건지 많이 궁금하네요.
그럼 좋은 하루 보내세요~
_________________
안녕하세요? 반갑습니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문 MSN 메신저
truefeel
카페 관리자


가입: 2003년 7월 24일
올린 글: 1277
위치: 대한민국

올리기올려짐: 2003.10.31 금, 11:12 am    주제: DB 처리가 나을 듯 인용과 함께 답변

개인적으로는 DB가 좋을 듯 싶습니다.

- a-z까지 영문과 숫자 등으로 시작하는 도메인 등을 비교하는 부분
- 그리고 a.php 등을 include 하는 부분
- 그리고 각각 a.php 등을 수정해야 하는 노고

저런 과정이 DB쓰면 필요없겠지요. 몇만 몇십만건이라면 뚝딱 처리될겁니다.

건수가 점점 늘어날수록 생각나는게 DB로 관리하는 것입니다.
만약 a... 도메인에서 b... 도메인으로 변경 신청이 올 경우
파일 2개를 직접 수정하실려구요? 이거 되게 귀찮을 겁니다.
건수가 많으면 더 하겠지요.
또한 통계 처리의 필요성을 느낄겁니다.

- 날짜별 신청수 통계
- a-z까지 도메인별 건수 통계
- 도메인별 메인화면 접속수 통계
(이거 index.php에서 포워딩할 때 그냥 DB에 counter컬럼 만들어 +1시키면 바로 나오겠지요.)
- 잘못된 주소로 접속한 건수 등

저런 통계 처리 무지 간단하게 해결될거라 생각됩니다.

----------------------------------------------------------------
좋은진호라 부르시면 될 듯. 이름 부르는게 편하잖아요.
truefeel는 ID로 쓰고 있고,
IRC나 메신저에서는 좋은진호를 쓰고 있습니다.

96년인가 IRC에서 '멋진놈'(이 양반 뭐하고 사나 몰라), '나쁜??' 등의 닉네임을 쓰시는 분들이 있었습니다.
그래서 나온게 '좋은진호'입니다.
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
글 쓰기   답변 달기    커피닉스, 시스템 엔지니어의 쉼터 게시판 인덱스 -> 시스템 설치 및 운영 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 있습니다
주제를 수정할 수 있습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB © 2001, 2005 phpBB Group