2010-01-20 7 views
0

브라우저에서 프록시 서버로 기본 "tomcat"설치 ("localhost"포트에서 실행)를 구성하고 http://www.google.com에 연결하십시오.Tomcat 및 프록시 요청

Tomcat이 프록시 서버로 구성되어 있지 않거나 Google 웹 사이트의 콘텐츠를 가져와야한다는 오류 메시지가 표시됩니다.

대신 내 tomcat 설치의 index.html 페이지가 표시됩니다.

무엇이 잘못 되었나요?

답변

2

톰캣은 요청을 프록시 처리해야한다는 것을 모릅니다. 요청 자체가 아니라 호스트에 대한 표시됩니다 때, 그것은 같은 역할을하는 것이

아파치 HTTPD와
GET http://www.google.com/example HTTP/1.1 
[plus other headers] 

, 당신은 이러한 구성이있을 수 있습니다 : 그것은 알고있는 모든 브라우저가 나타나서 다음과 같이 뭔가를 요구한다는 것입니다 요청에 대한 프록시.

일반적으로 Tomcat은 프록시로 사용되지 않습니다. 그러나 Tomcat은 역방향 프록시의 뒤에서 자주 사용되는데, 요청이 "www.google.com"과 같은 것일 수 있습니다.이 사이트는 제공 될 사이트로 Tomcat으로 다시 전달 될 수 있습니다. Tomcat의 표준 설정은 자체 호스트로 지정된 호스트를 거의 받아 들여서 요청을 받으면 합법적이라는 가정하에 자체에 대한 절대 참조를 작성하기 위해 채택합니다. 물론 구성을 통해이 동작을 변경할 수는 있지만, 그렇지 않은 경우 Tomcat은 호스트 헤더로 수행 한 작업을 알고 있다고 가정 할 때 애플리케이션 세트에서 요청한 것을 제공하려고 시도 할 것입니다.

+0

위의 내용을 수정해야합니다. 내가 준 예제 헤더는 URI에 호스트가 포함되어 있으므로 프록시 요청을 나타냅니다. 브라우저 또는 역방향 프록시의 직접 요청 인 경우 /로 시작합니다. 역방향 프록시는 프록시 호스트를 다르게 지정합니다. 따라서, Tomcat이 이것이 프록시로 취급하는 요청인지를 확실히 판단 할 수 있습니다. 어떤 이유로 든, Tomcat은 기본적으로 이것을 정상적인 요청으로 취급합니다. 따라서, 실제로 무엇을하는지 모르는 경우 Tomcat을 프록시로 설정하지 마십시오. – sosiouxme

0

프록시 서버는 모두 패스 요청 및 응답을 통과합니다. 브라우저의 관점에서 URL을 요청했고, 프록시 서버는 HTML과 코드 200을 반환 했으므로 요청 된 URL의 응답으로 해석됩니다. 이것은 정적 페이지이므로 실제 프록시 서버가 아니기 때문에 모든 요청은 동일한 정적 응답이됩니다.

+0

http://www.google.com/examples에 액세스하면 내 배포 된 Tomcat의 예제 애플리케이션이 표시됩니다. 이것은 나에게 의미가 없습니다. 브라우저가 내용을 충실하게 표시한다는 것에 동의합니다. 내 문제는 프록시 서버로 구성된 tomcat입니다. – Raghuram

+0

어떻게 프록시 서버로 구성 했습니까? 설정 방법에 따라 특정 웹 앱의 프록시 일 수도 있고 다른 포트에서 실행 중일 수도 있습니다. – davogones

+0

나는 바람둥이에서 아무것도하지 않고있다. 내 브라우저에서이 Tomcat을 프록시 서버로 구성 중입니다. 이것은 서버가 프록시 요청을 받으면이를 어떻게 처리해야하는지 확인하는 것입니다. 다음 작업을 수행 할 GET http://www.google.com/myapp HTTP/바람둥이는 선도적 인 URL을 무시하고/myapp와 같은 요청을 처리해야하는 이유 1.1 이 궁금? – Raghuram

0

Tomcat에는 프록시 기능이 내장되어 있지 않습니다. 당신이 어떤 구성에 대해 이야기하는지 모르겠습니다.

브라우저에서 "http://google.com/examples"과 같은 URI를 요청합니다. Tomcat이 기본 호스트 및 기본 시작 페이지로 구성되어 있으면 Tomcat이 표시됩니다. 그것은 프록시 요청을 전혀 이해하지 못합니다.

톰캣을 프록시 서버로 사용하려면 프록시 서블릿을 설치하고 루트에 매핑해야합니다.