2012-08-09 3 views
0

좋아, 나는 매뉴얼과 지시 페이지의 수백을 읽고 아직도 그것을 얻지 못하기 때문에 나 자신에게 어리 석음이 엄청나게 느껴진다. 네가 나를 도울 수 있기를 바랍니다.아파치 2 - 서브 도메인에서 포팅으로 -> 포워딩

나는 우분투 서버를 운영하는 서버를 가지고있다. 서버에서 dyn.com으로 내 IP를 업데이트하기 위해 ddclient를 실행하고 있습니다. 거기에 업데이트 된 IP를 가리키는 "rasterkomplex.net"이라는 도메인이 있습니다. 쉬운. -함으로써 해결할 수 rasterkomplex.net:3360 :

는 또한 자신의 웹 서버 @ 포트 3360.

지금 입력 해요입니다 실행하는 서버에 연결된 카메라가있다. 하지만 이제는 5001과 5002에서 동시에 실행되는 2 개의 미니 크래프트 서버가 제공됩니다. 모든 MC 서버의 경우 다른 포트에서도 웹 서버를 실행하는 dynmap-plugins가 있습니다. 그리고 웹 사이트를 방문하십시오. 관련 서비스에 액세스하기 위해 8 개 이상의 포트를 기억하고 싶지 않습니다.

내가 달성하고 싶다 무엇 : 나는 가상 호스트, ProxyPass로 등에 대해 많이 읽어

cam.rasterwerks.net -> internal to 127.0.0.1:3360 
mc1.rasterwerks.net -> internal to 127.0.0.1:5001 
mc2.rasterwerks.net -> internal to 127.0.0.2:5002 
etc. etc. etc. 

그러나 나는 일을 얻기를 관리 할 수 ​​아니에요.

어떻게 수행 할 수 있습니까? 그것이 VHosts, 어쩌면 샘플과 관련이 있다면?

시간 내 주셔서 대단히 감사합니다.

감사합니다.

일라이어스.

답변

1

당신은 당신이 또한 할 수있는 것은 haproxy를 설치하고, mod_proxyProxyPass 여기에 또는 당신을 거기 리디렉션 한 손에 apache 함께 할, 또는 수 있습니다. 그런 다음 요청 된 URL의 호스트를 기반으로 요청을 하나 또는 다른 웹 저장소로 전달합니다.

정확하고 haproxy의 예제 설정은은 다음과 같습니다이 예에서는 그래서

frontend public 
bind  X.X.X.X:80 
mode  http 
log   global 
option  httplog 
option  dontlognull 
option  httpclose 
maxconn  8000 
clitimeout 90000 

reqisetbe ^Host:\ .*hudson hudson 

backend hudson 
    mode   http 
    balance   roundrobin 
    contimeout  120000 
    srvtimeout  120000 
    redispatch 
    retries   5 
    server   internal.host.com Y.Y.Y.Y:8080 check inter 1000 

haproxy가 포트 80에 바인딩 및 요청의 URL이 *.hudson 포함되어있는 경우, 그것은의 IP와 함께 internal.host.com로 리디렉션됩니다 Y.Y.Y.Y을 포트 8080에 보내십시오.

이제 apache 기반 솔루션의 경우.

서로 다른 이름을 가진 여러 개의 VHost를 정의 할 수 있습니다. 각각의 이름은 다음을 포함합니다.

이름 기반 vhosting하려면 아파치 설정이 포함되어 있어야합니다 그리고

NameVirtualHost * 

는, 가상 호스트 자체가되어야한다 :

<Virtualhost *> 
    DocumentRoot "/var/www/somewhere" 
    ServerName localhost 
    ServerAdmin [email protected] 
    DirectoryIndex index.html index.php 
    ProxyRequests On 
    ProxyPreserveHost On 
    ProxyVia full 

    <proxy> 
    Order deny,allow 
    Allow from all 
    </proxy> 

    ProxyPass  /http://somehost:1234/ 
    ProxyPassReverse/http://somehost:1234/ 
</Virtualhost> 

이 더 가능한 것 같습니다 어떤 솔루션을 자유롭게 선택 당신.

+0

저는 VHost 솔루션을 사용했고 대부분 매력적이었습니다. 요청을 포트 80에서 가져 오지 않는 시도는 제외하고 ssh, 게임 또는 rtsp를 사용할 때와 같습니다. 그러나 나는 apache2가 웹 서버 일 뿐이라고 생각합니다. 다른 방법으로 달성 할 수 있습니까? 이 멍청한 일로? 어쨌든, 고맙습니다! – user1450661

+0

예, 아파치는 웹 서버입니다. 반면에 haproxy는 TCP 가능로드 밸런서입니다. – favoretti

관련 문제