2012-02-21 8 views
1

Linux에서 Apache를 사용하여 Tomcat 사이트에 대한 모든 요청을 프록시 처리하므로 가상 호스팅을 사용하고 https를 사용할 수 있습니다. 바람둥이에있는 내 webapp은/epub이지만 http/localhost : 8081/epub/아파치를 사용하여 Tomcat을 프록시 처리하고 sendRedirect를 수행 할 수 없습니다.

에 매핑하려면 apx proxypass와 proxypassreverse를 설정하십시오.

나는 페이스 북을 통해 내 웹 사이트에 로그인 할 수 있도록이 모든 작업을 수행합니다.

(참고 :이 진짜 사이트가 아닙니다 그리고 내가 페이스 북에 등록 된 내 사이트 이름에 대한/etc/hosts 파일 및 아파치 가상 호스트를 설정했다.)

I 커넥터를 설정 톰캣의 server.xml에서 요소는 다음과 같습니다.

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" 
     proxyPort="80" 
     proxyName="andyssite2.com"/> 

그러나이 포트에 대한 실행자 공유 스레드 풀에는 아무 것도 설정하지 않았습니다.

다음은 작동하지 않습니다 무엇 : 내 loginservlet에 갈 때

버그 1), I는 세션이 존재하는지 확인합니다. 그렇지 않은 경우 세션 속성으로 "해시"요청 매개 변수를 저장합니다. 그런 다음 OAuth 서버 흐름 스키마에 따라 페이스 북으로 리디렉션하십시오. 페이 스북 다시 내 loginservlet 리디렉션 할 때 HttpSession 존재하지만 "해시"특성이 손실됩니다. (쿠키보다는 세션에 저장하는 편이 낫다.)

버그 2) 그런 다음 나머지 페이스 북 사용자 정보를 얻고 "/index.html"로 리디렉션합니다. 브라우저는 내 URL을 "http://andyssite2.com/index.html#_=_"로 표시하며 index.html에 의해로드 된 javascript가 해시 _ = _에 대한 준비가되어 있지 않아 문제가 발생합니다. 또한 절대 URL을 사용하여 내 사이트로 리디렉션을 시도하고 _ = _의 해시와 동일한 문제가 발생했으며 내 질문에이 spurios 해시가 추가되는 원인이되었습니다.

CentOS6 용 최신 아파치가 있습니다.

앤디

답변

1

나는 프런트 엔드하고 (또한에 CentOS를 실행)을 Liferay 포털을 실행 뒤에 바람둥이로 아파치와 매우 유사한 구성을 가지고있다.

내가 연구를 발견

가장 좋은 방법은 mod_proxy_ajp을 사용하는 입니다 :

을 httpd.conf :

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
ProxyPass/ajp://localhost:8009/ 

의 server.xml : 당신은 내 위에 설정을 적용 할 수 있습니다

<!-- Define an AJP 1.3 Connector on port 8009 --> 
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" /> 

, I 이 문제가 해결되기를 바랍니다.

관련 문제