우리가 가진 높은 수준의 문제는 이것입니다. Apache Wave가 설치되어 회사 네트워크에서 실행되고 있습니다. 그것은 우리가 사이트를 로딩하고, 등록하고, 로그인하고, 파도를 만들고 참여할 때까지 작동합니다. 하지만 http://everybodywave.appspot.com/gadget/image/gadget.xml과 같은 외부 가제트를로드 할 수 없습니다. 기업 네트워크 외부에서 웨이브를 설치했기 때문에 프록시 문제라고 확신합니다. 가제트를 제대로로드 할 수 있습니다.회사 프록시 뒤에 아파치 웨이브; 또는 부두가 프록시 속성을 준수하지 않습니다
나는 혼란 스럽다. 아파치 웨이브의 JVM 프록시 설정을 여러 곳에서 설정했지만, 가젯을로드하는 것은 작동하지 않습니다. 환경 변수 JAVA_OPTIONS, JAVA_OPTS, JETTY_OPTIONS 및 JETTY_OPTS에서 jvm 명령 줄에 http.proxyHost 및 http.proxyPort를 설정하고 호출하기 전에 System.setProperty를 통해 가젯을로드하도록 설정했습니다. Apache Wave의 jvm에서 외부 사이트를 뱉어내는 코드를 추가 했으므로 프록시 설정이 제대로 작동합니다. 그러나 가젯은 여전히 그렇지 않습니다. (; GadgetProxyServlet에서 라인 121)
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
proxyServlet.service(req, res);
디버그는 다음과 같습니다 https://svn.apache.org/repos/asf/incubator/wave/trunk/src/org/waveprotocol/box/server/ServerMain.java 을 어디 선가 호출 아래에 디버그 메시지를 받고 있어요 : 여기
은 내가 말할 수있는 문제에 가장 가까운 지점입니다 :
[java] 2012-04-06 10:47:25.197:WARN:oejsKwbs.ServerMain$GadgetProxyServlet, annotation=[none]]:java.net.ConnectException: Connection timed out
그래서 어쩌면 내 질문은 왜 부두 ProxyServlet.Transparent는 JVM의 HTTP 프록시 설정을 존중하지 않는 ...인가? 부두 속성도 설정해야합니까?
감사! 이것은 효과가 있었다. 약간의 효과가 있습니다. Jetty의 ProxyServlet을보고 나서 가젯 URL (http://git.eclipse.org/c/jetty/org.eclipse.jetty)을 가져 오는 새로운 원시 소켓을 만드는 것처럼 보입니다. project.git/tree/jetty-servlets/src/main/java/org/eclipse/jetty/servlets/ProxyServlet.java? h = jetty-8). 그게 내가 가지고 있지 않은 양말 프록시가 필요하다고 믿게 만들었습니다. 그러나 어쨌든 당신의 제안은 효과가있었습니다. – kenen
다행이었고 당신이 말하는 것을 보았습니다. 이 연결을 프록시에 도입하고 요청을 복사 한 다음 응답을 소켓 입력이있는 스레드에 출력합니다. 거의이 경우와 마찬가지로 프록시 자체를 수행하지 않습니다. –