귀찮은 프록시 서버를 우회하기 위해 SSH 터널을 설정하여 Beanstalk에 액세스하려고합니다.사용중인 호스트의 SSH 터널에서 다른 호스트를 지정하는 방법
나는 이것을 작동시킬 수 있지만주의해야 할 점이있다. 나의 호스트 파일에 Beanstalk 호스트 URL (username.svn.beanstalkapp.com)을 127.0.0.1로 매핑해야한다. 터널을 설정할 때 도메인).
이유는 (내가 생각하기에) 로컬 SSH 인스턴스 (Snow Leopard)를 사용하여 터널을 만들고, 로컬 호스트 또는 127.0.0.1을 Beanstalk과 통신 할 때 인증 자격 증명을 거부하기 때문입니다. Beanstalk이 요청에 지정된 호스트 이름을 사용하여 사용자 이름/비밀번호 조합을 확인해야하는 계정을 결정했기 때문입니다. localhost가 사용된다면, 나는이 정보가 요청으로부터 (Beanstalk이 요구하는 어떤 방식으로) 빠져 있다고 생각한다.
ssh -L 8080:ip:443 -p 22 -l tom -N 127.0.0.1
:
내가 username.svn.beanstalkapp.com의 IP를 발굴 순간
, 내 호스트 파일에 127.0.0.1을 username.svn.beanstalkapp.com지도, 다음 터널 나는 명령을 사용하여
Subversion에 repo를 알릴 수 있습니다.
https://username.svn.beanstalkapp.com:8080/repo-name
여기는 터널을 사용하며 사용자 이름과 암호가 허용됩니다.
그래서 내 호스트 파일 해결 방법을 사용할 필요가 없다는 것을 의미하는 SSH 터널을 설정할 때 옵션이 있다면 내 질문이 무엇입니까?
Beanstalk은 연구 결과에 따라 실제로 호스트 헤더를 사용하여 요청을 라우팅하고 인증 한 것으로 보입니다. 운이 좋지 않을 수 있습니다. 클라이언트가 어떻게 든 호스트 헤더를 제공해야합니다. 이것은 HTTP 프로토콜에 속합니다. 그것을 주입하는 것은 ssh의 범위 밖입니다 (즉,이를 지정하는 매개 변수가 있음). 그래도 호스트 해결 방법에 문제가 있습니까? 내 것은 꽤 오래 자랐지 만 괜찮습니다. –
명확히하기 : 이것은 Subversion 앱 (beanstalkapp.com/)의 Beanstalk이지, 작업 대기열의 Beanstalk (github.com/kr/beanstalkd)이 아닙니다. – dfrankow