内网接口调用,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

相关文章
相关标签/搜索