美文网首页
外网访问内网服务 tunnel

外网访问内网服务 tunnel

作者: 罗平0425 | 来源:发表于2017-07-26 10:26 被阅读0次

参考:

https://gist.github.com/fnando/1101211

条件:

1. 可远程访问的服务器:username@dev.example.com

2. 指向该服务器的域名,如:dev.example.com

步骤:

1. 服务器上nginx 配置 /etc/nginx/sites-available/tunnel.conf

upstream tunnel {

  server 127.0.0.1:9000;

}

server {

  listen 80;

  server_name dev.example.com;

  location / {

    proxy_set_header  X-Real-IP $remote_addr;

    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header Host $http_host;

    proxy_redirect off;

    proxy_pass http://tunnel;

}

# websocket 相关

location /cable {

    proxy_pass http://tunnel;

    proxy_http_version 1.1;

    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_set_header Host $http_host;

    proxy_set_header Upgrade $http_upgrade;

    proxy_set_header Connection "Upgrade";

  }

}

2 重启 nginx

$ cd /etc/nginx/sites-enabled;

$ sudo ln -s /etc/nginx/sites-available/tunnel.conf tunnel.conf

$ sudo nginx -s reload

3 如果服务器上有防火墙,把本地的外网ip(通过ip138.com获取)添加到防火墙白名单

例: fail2ban修改 /etc/fai2ban/jail.local的 ignoreip

4 将远程服务器的9000端口映射到本地的3000端口

ssh -vNR 9000:localhost:3000 deploy@demo.1kuaizhuan.cn

5 项目相关(微信测试公众号及本地代码)的域名修改

相关文章

网友评论

      本文标题:外网访问内网服务 tunnel

      本文链接:https://www.haomeiwen.com/subject/gofctxtx.html