인터넷 에 로 컬 개발 환경 공개 (nginx + SSH Tunnel)

2223 단어
일부 인 터 페 이 스 를 디 버 깅 할 때 사이트 응용 은 일부 외부 서비스 와 교 류 를 해 야 한다. 너 는 그것 에 게 약간의 데 이 터 를 보 내 면 그것 도 너 에 게 약간의 데 이 터 를 되 돌려 줄 것 이다.그러나 로 컬 개발 환경 에서 디 버 깅 을 한다 면 외부 서비스 데이터 만 보 낼 수 있 고 외부 서비스 에서 돌아 온 데 이 터 는 로 컬 환경 에서 받 을 수 없습니다. 어떻게 외부 네트워크 서버 방문 요청 을 로 컬 로 전송 합 니까?
기본 적 인 사 고 는 SSH 역방향 터널 을 사용 하여 로 컬 에서 실행 되 는 서 비 스 를 인터넷 에서 Linux 서버 의 로 컬 포트 에 발표 한 다음 에 nginx 역방향 에이전트 로 이 로 컬 포트 를 인터넷 에 발표 하 는 것 입 니 다.
서버 에서 직접 디 버 깅 하고 싶 지 않 습 니 다. 복잡 하고 불편 해서 예전 에 사 용 했 던 BrowserSync 도구 가 생각 났 습 니 다. Tunnel 옵션 이 있어 서 로 컬 에서 만 든 서버 를 인터넷 에 공개 할 수 있 습 니 다.SSH 에 Tunnel 기능 이 있다 는 생각 이 들 었 습 니 다. 원래 로 컬 컴퓨터 의 대리 용 으로 사용 되 었 습 니 다. 아마 사용 할 수 있 을 것 같 습 니 다. 제 가 인터넷 에 있 는 서버 에 요청 을 받 고 제 로 컬 개발 환경 으로 요청 을 옮 긴 다음 에 키워드 NGINX, SSH, Tunnel 을 검색 하여 답 을 찾 았 습 니 다.
SSH 로 로 로 컬 컴퓨터 와 네트워크 서버 사이 에 채널 을 열 고 네트워크 서버 의 NGINX 를 설정 하여 받 은 요청 을 로 컬 컴퓨터 와 네트워크 서버 의 이 채널 로 이동 합 니 다.
수요
  • 네트워크 에 연 결 된 서버
  • 공중 망 서버 에 NGINX 가 설치 됐다.

  • 배치 하 다.
  • 먼저 네트워크 서버 에 NGINX 설정 을 추가 합 니 다.
  • upstream tunnel {
      server 127.0.0.1:7689;
    }
    
    server {
      listen 80;
      server_name dev.ninghao.net;
      
      location / {
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        
        proxy_pass http://tunnel;
      }
    }
    

    위 에 NGINX 로 프 록 시 를 만 들 었 습 니 다. dev. ninghao. net 에 접근 하 는 사람 이 있 으 면 NGINX 는 터널 에 요청 을 전달 합 니 다. 이 터널 은 이 네트워크 서버 를 말 합 니 다. 포트 번 호 는 7689 입 니 다. 잠시 후에 우 리 는 이 포트 로 로 컬 컴퓨터 와 통신 해 야 합 니 다.
    통로.
    우 리 는 로 컬 컴퓨터 와 네트워크 서버 사이 에서 SSH 를 사용 하여 통 로 를 열 어야 한다.실행 할 명령 은 이렇게:
    ssh -vnNT -R      :localhost:           @    IP   
    

    예시:
    ssh -vnNT -R 7689:localhost:3000 [email protected]
    

    위의 예 에서 7689 는 공공 네트워크 서버 의 포트 를 말 하 는데 localhost 뒤의 3000 은 로 컬 컴퓨터 용 포트 이다.루트 는 네트워크 서버 에 로그 인 한 사용자 이 고 42.12.40.68 은 네트워크 서버 의 IP 주소 입 니 다.
    우 리 는 공공 네트워크 서버 의 NGINX 를 설정 하여 dev. ninghao. net 에 방문 하여 서버 에 있 는 7689 포트 로 요청 을 했 습 니 다. 이 포트 는 우리 로 컬 컴퓨터 의 3000 포트 와 연결 되 어 있 습 니 다.따라서 로 컬 개발 환경 에 설 치 된 서버 는 3000 포트 를 사용 하여 서 비 스 를 제공 해 야 합 니 다.즉, dev. ninghao. net 주 소 를 방문 할 때 사용자 가 받 은 응답 은 로 컬 개발 환경 에서 서버 가 제공 하 는 것 입 니 다.

    좋은 웹페이지 즐겨찾기