2012-06-29 5 views
1

나는 syncer 프로세스를 가지고 있으며 사용자를 위해 데이터를 수집하고 로컬 파일 시스템에 저장된 DB를 업데이트하기 위해 트위터, 페이스 북 등으로 컬 HTTPS 호출을합니다. 동일한 시스템에서 실행중인 HTTP 서버가이 db를 쿼리하고 요청시 사용자에게 결과를 반환합니다.SSL 클라이언트와 컬 클라이언트 간의 연결 해제

문제는 Twitter, Facebook 등의 API를 호출하는 동안 SSL 협상으로 인해 sycer 프로세스가 너무 많은 CPU/IO를 차지한다는 것입니다. 이로 인해 사용자 경험이 약간 느려집니다. 그래서이 SSL 협상을 HTTP 서버가 실행중인 다른 시스템에서 수행하기를 원합니다. 그리고 DB를 업데이트하기 위해 로컬 파일 시스템 액세스가 필요하기 때문에 syncer 프로세스를 외부로 가져갈 수 없습니다.

그래서 프록시 서버를 구축 할 생각이었습니다. syncer 프로세스는 프록시 서버에 대한 HTTP 호출을 수행합니다. 프록시 서버는 Twitter, Facebook 등으로 HTTPS를 호출하고 결과를 syncer 프로세스에 반환합니다.

여기에 어떤 소프트웨어가 있습니까? 이미 무언가가 존재한다면 바퀴를 재발 명하고 싶지 않습니다.

답변

0

nodej를 사용하여 간단한 프록시 서버를 작성했습니다. HTTPS API를 호출해야하는 클라이언트는 JSON 형식의 모든 세부 정보를이 프록시 서버에 전달합니다. 이 프록시 서버는 차례로 HTTPS apis를 호출하고 결과를 클라이언트에 반환합니다.

0

Stunnel 다음 조건이 충족되면 요청하는 내용과 거의 일치합니다.

  • 하나의 stunnel 인스턴스가 각 서비스 (inetd 또는 독립형 데몬과 같은 모드에서 실행 중이어야 함)에 있어야합니다.
  • cURL을 실행하는 시스템은 대상 서비스의 호스트 이름을 stunnel을 실행하는 호스트의 IP 주소 (예 : /etc/hosts)로 직접 해결해야합니다.

SSL 지원 클라이언트에서 SSL을 사용하여 IRC 서버에 연결하는 것과 비슷한 방식으로 stunnel을 사용했습니다. 그것은 매력처럼 작동합니다. 조심해야 할 중요한 사항 중 하나는 3.x와 새로운 버전 간의 비 호환성입니다. 새로운 시스템을 계획하고 있다면 새로운 시스템을 사용해야 할 것입니다.

+0

stunnel을 확인하겠습니다. – Sabya

관련 문제