문제

Apache와 CherryPy와 같은 두 개의 서로 다른 웹 서버를 동일한 시스템에서 나란히 실행하여 성공한 사람이 있습니까?나는 지금 다른 웹 서버를 실험하고 있는데, 다른 사이트를 유지하면서 실험을 할 수 있는지 알고 싶습니다.이는 특정 소프트웨어에 관한 질문이라기보다는 일반적인 네트워킹 질문이라고 말할 수 있습니다.

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

나는 이것이 이상적인 구성이 아니라는 것을 알고 있습니다.나는 토끼 굴 아래로 질주하기 전에 그것이 완료될 수 있는지 확인하고 싶습니다.:)

도움이 되었습니까?

해결책

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

또 다른 옵션은 한 서버를 다른 서버로 프록시 전달하는 것입니다.Apache를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

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 문서.하지만 프록시되는 애플리케이션의 로그에는 요청자의 IP 주소 대신 127.0.0.1이 표시됩니다.일부 웹 서버(아파치는 mod_rpaf) 잘못된 IP 주소 대신 X-Forwarded-For 헤더를 대체할 수 있습니다.아마도 CherryPy에 이런 기능이 있을까요?

다른 팁

가장 좋은 방법은 Apache httpd를 포트 80 앞에 놓고 모듈을 사용하여 Apache를 통해 다른 서버에 대한 요청을 전달하는 것입니다.가장 인기 있는 시나리오는 Apache 뒤의 Tomcat으로, 여기서 PHP와 JSP 애플리케이션을 모두 실행할 수 있습니다.

저는 CherryPy에 익숙하지 않으므로 CherryPy용 Apache 모듈을 찾아보라고 제안할 수 있습니다.

편집하다:이는 유망해 보입니다. http://tools.cherrypy.org/wiki/BehindApache

또는 Ismaeel의 정답에 따르면 2개의 네트워크 카드가 있는 서버가 있는 경우 각 서버가 서로 다른 IP 주소에 대한 요청에 응답하도록 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top