2008-08-22 3 views
3

Apache와 CherryPy와 같은 두 개의 다른 웹 서버를 다른 컴퓨터와 함께 실행하면 성공한 사람이 있습니까? 지금 다른 웹 서버를 실험 중이며 다른 사이트를 계속 실행하면서 실험을 할 수 있는지보고 싶습니다. 일반적인 네트워킹 문제이므로 특정 소프트웨어 문제가 아니라고 말할 수 있습니다.다른 웹 서버와 함께 Apache를 실행 하시겠습니까?

  • 다른 포트에서 두 개의 웹 서버를 실행할 수 있음을 알고 있습니다. 동일한 포트에서 실행할 수 있도록 구성 할 수있는 방법이 있습니까? (즉, 둘 다 포트 80에서 실행됩니다.)
  • 웹 서버는 이 아니며은 동일한 도메인의 파일을 제공합니다. 예를 들어, Apache는 foo.domain.com의 문서를 제공하고 다른 웹 서버는 bar.domain.com에서 제공합니다.

이상적인 구성이 아닙니다. 토끼 구멍을 질주하기 전에 할 수 있는지 알고 싶습니다. :)

답변

7

동일한 IP 주소의 동일한 포트에 두 개의 프로세스를 바인딩 할 수 없습니다. 상자에 또 다른 IP 주소를 추가하고 각 서버에서 수신 대기하도록 할 수 있습니다.

또 다른 옵션은 하나의 서버를 다른 서버로 전달하는 것입니다. 아파치, 당신은 같은 것을 할 수있는 : 아주 간단한 예입니다

NameVirtualHost * 
<virtualhost *> 
    ServerName other.site.com 

    # assumes CherryPy listens on port 8080 
    ProxyPass/http://127.0.0.1:8080/ 
    ProxyPassReverse/http://127.0.0.1:8080/ 
</Virtualhost> 

,하지만 당신은 항상 ProxyPass documentation를 확인할 수 있습니다. 하지만 프록시가 수행되는 응용 프로그램은 요청자의 IP 주소 대신 로그에 127.0.0.1을 갖게됩니다. 일부 웹 서버 (apache는 mod_rpaf과 함께 사용)는 잘못된 IP 주소 대신 X-Forwarded-For 헤더를 사용할 수 있습니다. 아마도 CherryPy가 이걸 가지고 있을까요?

0

가장 좋은 방법은 포트 80 앞에 Apache httpd를두고 모듈을 사용하여 Apache를 통해 다른 서버에 대한 릴레이 요청을 보내는 것입니다. 가장 인기있는 시나리오는 PHP 및 JSP 응용 프로그램을 모두 실행할 수있는 Apache의 Tomcat입니다.

저는 CherryPy에 익숙하지 않아서 CherryPy 용 Apache 모듈을 찾도록 제안 할 수 있습니다.

편집 :이 유망 같습니다 http://tools.cherrypy.org/wiki/BehindApache

0

을 다른 방법으로, Ishmaeel의 정답에, 당신은 2 개 네트워크 카드와 서버가있는 경우, 당신은 다른 IP 주소의 각 서버 응답 요청을 가질 수 있습니다.

관련 문제