포트 8001의 localhost 및 mod_proxy의 apache2에서 twisted.web.server를 실행하고 있습니다. 아파치는 다음과 같은 설정에 따라 프록시 설정아파치 뒤틀린 웹 서버 - 리소스가 없습니다.
http://localhost/jarvis ----> http://localhost:8001/
이 규칙에 대한 아파치의 설정은 다음과 같이 서버 설정에 대한
ProxyPass /jarvis http://localhost:8001/
ProxyPassReverse /jarvis http://localhost:8001/
꼬인 응용 프로그램의 코드 조각은 다음과 같습니다
if __name__ == '__main__':
root = Resource()
root.putChild("clientauth", boshProtocol())
logging.basicConfig()
factory = Site(root)
reactor.listenTCP(8001, factory)
reactor.run()
내가 갈 때
http://localhost:8001/clientauth
예상대로 실행됩니다. 내가
http://localhost/jarvis/clientauth
를 사용하지만 때 오류 제공 - ". 그런 아이 리소스를" 제가 이해하기에 - 요청이 트위스티드 웹 서버로 올바르게 프록시 처리됩니다. 그러나 왜 아동 자원은 확인되지 않았습니까?
Twisted 'request'에서받은 URL을 인쇄 했습니까?/jarvis를 제거하지 않고 뒤틀린 상태로 전달하면 전체 URL을 수신 할 수 있습니다. –
어떻게할까요? 너는 정교하게 말해 줄 수 있니? – mlakhara
내 머리 부분 클래스의 맨 아래에서 twisted.web.resource.Resource는 인수로 Site 객체를 만들고 getChild() 함수는 요청을 인쇄합니다. 당신의 후유증은 정확히 알 수 없지만 당신이 추정 할 수 있습니다 : [예제] (http://twistedmatrix.com/documents/current/web/howto/web-in-60/dynamic-dispatch.html) –