ssh 역방향 터널 및nginx 역방향 에이전트를 통해 외부 네트워크 제어 내망nodemcu칩 실현

2358 단어
기본 사고방식: ssh 역방향 터널을 통해 외부 네트워크 서버 포트에서 내부 네트워크 중계 서버 포트로의 전송을 실현하고 내부 네트워크 중급 서버인nginx 역방향 에이전트를 설정하여 외부 네트워크에서 보낸 요청을 목표 서버에 전송한다.마지막으로 외부 네트워크에 접근하는 IP를 통해 내부 네트워크에 접근하는 대상 서버로 이동합니다.
(1) ssh 역방향 터널에서 외부 네트워크 서버 포트를 내부 중계 서버 지정 포트로 전송
(1) 우선 외부 네트워크 중계 서버 sshd의 GatewayPorts(외부 호스트를 전송하는 포트)를 지정하여 중계 서버의/etc/ssh/sshd_를 열어야 한다conf 다음 행을 추가합니다.GatewayPorts clientspecified
sshd 재부팅:
sudo /etc/init.d/ssh restart

(2) 내망 중계 서버에서 외망에 설치된 ssh 역방향 터널 (만약에 외망 IP가 1.1.1이라면)
ssh -fN -R 1.1.1.1:1999:localhost:80 user@1.1.1.1

이 중 1999는 외부 네트워크 서버에 지정된 감청 포트입니다. 80은 내부 네트워크 중계 서버로 전송해야 하는 포트입니다. (여기 80은nginx 기본 포트입니다.)
(2) 내망 중급 서버nginx 역방향 에이전트 설정
네트워크 중계 서버에서nginx 프로필/etc/nginx/nginx를 수정합니다.conf
server {     listen 80;     server_name $host;     location/{          proxy_pass http://192.168.8.101:2016;          proxy_set_header Host $host;          proxy_redirect off;          proxy_set_header X-Real-IP $remote_addr;          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;          proxy_connect_timeout 60;          proxy_read_timeout 600;          proxy_send_timeout 600;     } }
내망 중계 서버에 접근하는 모든 요청을 내망 목표 서버, 192.168.101의 2016 포트(nodemcu칩에서 열린 http 서비스)에 전송합니다
(3) 브라우저에서 외부 네트워크 ip에 접근하여 네트워크 목표 서버(nodemcu칩)를 요청합니다
http://1.1.1.1:1999/
이렇게 많아!

좋은 웹페이지 즐겨찾기