外网访问测试机。linux
Windows机器使用SSH反向隧道。服务端使用反向代理nginx
win下安装openssh-win并设置环境变量服务器
打开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
vi /etc/ssh/sshd_conf sshd打开转发
114行
GatewayPorts yes
服务器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