外網訪問測試機。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