內網接口調用,ssh反向隧道與nginx反向代理

外網訪問測試機。linux

Windows機器使用SSH反向隧道。服務端使用反向代理nginx

  1. win下安裝openssh-win並設置環境變量服務器

  2. 打開cmd ssh

    C:\Users\Administrator>ssh -p 22 -R 1999:localhost:8080 -b 0.0.0.0 root@8.8.8.8
    tcp

    -R 1999遠程機器的端口ide

    -b 外網段監聽,不加是 127.0.0.1監聽測試

        (有的版本加 -b 沒法鏈接。能夠監聽127.0.0.1 ,而後在linux上用iptables轉發一下 iptables -t nat -A PREROUTING -d 8.8.8.8 -p tcp --dport 11999 -j DNAT --to-destination 127.0.0.1:1999)代理

    8080 本機端口server

    這樣外網訪問 8.8.8.8的1999端口就映射到了localhost的8080ip

  3. vi /etc/ssh/sshd_conf  sshd打開轉發

    114行

    GatewayPorts yes

  4. 服務器nginx反向代理

    vi nginx.conf

    upstream dev {

        server 127.0.0.1:1999;

    }

    server {

        listen 80;

        server_name dev.xx.com;

        location / {

                proxy_pass http://dev;

        }

        proxy_ignore_client_abort on;

        proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

5. dev.xx.com 能夠訪問到 localhost:8080

相關文章
相關標籤/搜索