Apache 프록시 뒤에 시약 웹 앱을 실행하여 HTTPS를 시약 앱을 실행하는 HTTP Jetty 서버로 전달하려고합니다. 다음은 Apache 규칙입니다.Apache 프록시 뒤에있는 시약 앱이 렌더링되지 않습니다.
ProxyPass /bookmarx http://localhost:3000
ProxyPassReverse /bookmarx http://localhost:3000
로컬로 실행하면 앱이 잘 실행됩니다 (예 : http : // localhost : 3000). 그러나 Apache 서버를 통해 앱을 실행하면 (예 : https : // example.com/bookmarx이면 HTML 시작 페이지 (즉, 아래의 코드 스 니펫이있는 페이지) 만 반환되고 Javascript (core/init!)는 실행되지 않으므로 빈 페이지가 표시됩니다. 흥미롭게도, 나는 그 뒤에 Clojure 서비스를 호출 할 수있다. https://example.com/bookmarx/api/bookmarks 그리고 북마크를 반환하므로 프록시가 요청을 전달하지만 ClojureScript가 실행되고 있지 않습니다.
나는 다시 쓰기 규칙과 x-forwarded-proto 헤더를 가지고 놀았지만 아무런 차이가없는 것처럼 보였다.
Apache 서버가 HTTPS가 아닌 HTTP를 사용하도록 구성하면 동일한 결과가 발생하므로 SSL 간섭이 발생하지 않습니다.
프록시를 통해 앱을 실행하려면 무엇을해야합니까?
내 문제가 페이지가 core.async를 사용하여 렌더링 전에 책갈피를로드하도록 호출한다는 사실과 관련이 있는지 궁금해지기 시작했다. localhost 부두 서버로 직접 가면 결과가 반환 될 때까지 차단됩니다. 그러나 프록시를 통과 할 때 결과가 반환되기 전에 페이지를 렌더링하지 못하도록 차단하지 않습니다. 나는 이것이 실제로 문제가된다면 이것을 해결하는 방법을 잘 모른다. – brown131