[SSH 내부 망 관통 + NGINX 역방향 대리] 위 챗 현지 개발 환경 구축

2009 단어
배경 그림 은 [@ TOM 주] (https://www.zhihu.com/people/tom-zhu-36)
위 챗 개발 은 위 챗 서버 가 자발적으로 메 시 지 를 보 내야 하기 때문에 웹 서버 는 반드시 네트워크 환경 에 노출 되 어야 한다.
현지 개발 은 항상 내부 네트워크 에 있 습 니 다. 각종 ngrok 등 제3자 제품 이 있 지만 비용 을 지불 하고 공식 서 비 스 를 사용 하거나 자신 이 서 비 스 를 구축 하 는 것 이 번 거 롭 거나 개인 을 통 해 구축 한 서 비 스 를 사용 하 는 것 이 안전 하지 않 으 므 로 ssh 를 직접 사용 하여 내부 네트워크 를 관통 하 는 것 이 간단 합 니 다.
물론 이 방안 은 네트워크 서버 가 필요 하 다 는 조건 을 담 고 있다. 이것 은 클 라 우 드 호스트 를 임대 하거나 운영 자의 고정 IP 를 신청 하거나 동적 DNS 서 비 스 를 사용 하 는 것 이 어렵 지 않 을 것 이다.
SSH 내부 망 관통
이것 은 주로 ssh 의 원 격 포트 퍼 가기 기능 (- R 매개 변수) 을 통 해 이 루어 집 니 다.자동 으로 재 접속 할 때 비밀 번 호 를 입력 하지 않도록 ssh 인증 서 를 설정 하여 비밀번호 없 이 로그 인 해 야 합 니 다.실현 방법 은 상술 한 바 와 같이 비교적 간단 하지만 네트워크 의 불안정 을 고려 하여 설정 할 때 주의해 야 할 부분 을 기재 한다.
Server
  • /etc/ssh/sshd_config
    ClientAliveInterval 30 #     Client       
    ClientAliveCountMax 3 #            ,       
    

  • Client
  • ~/.ssh/config
    ServerAliveInterval 10 #     Server      ,         
    ExitOnForwardFailure yes #        ,      
    
  • 구체 적 인 명령 (이하 그 중 하 나 를 선택)
  • 수 동 autossh
  • while (1)
    do
        ssh -NR ::: user@host
    done
    
  • autossh (이 방법 은 실제 효과 가 수 동 보다 좋 지 않 은 것 같 습 니 다)
  • autossh -M 5678 -NR ::: user@host
    

    NGINX 역방향 에이전트
    이것 은 비교적 간단 합 니 다. 서버 측 에 NGINX 사 이 트 를 정상적으로 배치 한 후, 원래 사이트 의 프로필 중 location 설정 절 을 proxy 로 직접 지정 합 니 다.패스 하면 됩 니 다.
    location / {
        proxy_pass http://:;
    }
    

    레 퍼 런 스
  • 포트 를 사용 하 는 프로 세 스 를 보고 수 동 으로 풀 수 있 습 니 다 (kill)
  • $ sudo netstat -plant  | grep 
    
  • 내부 망 관통 여부 확인
  • $ curl http://:
    

    좋은 웹페이지 즐겨찾기