美文网首页
如何使用家里主机提供WEB服务

如何使用家里主机提供WEB服务

作者: Shauway | 来源:发表于2017-07-21 17:26 被阅读74次

    障碍

    1. 家庭宽带没有固定IP
    2. ddns不稳定
    3. 基础电信运营商屏蔽了家庭宽带的80、443等端口

    由于以上几个问题的存在,你在家中的WEB服务只能以 http://域名:端口 的形式访问,由于使用了ddns,还会存在时而无法访问的情况。

    解决

    1. 购买国外VPS
    2. VPS将请求转发到家里主机

    为什么是购买国外的VPS?

    1. 在满足需求的情况下,国外的VPS最便宜,大部分 $5/月,我所知最便宜的 $19.99/年
    2. 稳定性也不差
    3. 只限流量,不限带宽,所以访问速度上也挺快
    4. 同时还可以通过它科学上网
    5. 不需要备案

    具体操作

    1. 购买VPS

      推荐几个服务商

    2. 请求转发

      vps上需要做的操作:

      /etc/ssh/sshd_config末尾添加如下两行

         GatewayPorts yes
         ClientAliveInterval 60
      

      GatewayPorts配置项作用:
      对于远程端口转发,sshd服务默认只允许从本机回环接口访问,打开该配置项后,就可以从公网访问了

      ClientAliveInterval配置项作用
      当连接两端没有数据传输时,sshd服务会每隔60秒向对端发送一次数据,以保持连接不被断开

      在家中主机上需要做的操作:

      $ ssh -CfNg -R 80:127.0.0.1:80 root@66.205.155.169 -i ~/.ssh/vps
      $ ssh -CfNg -R 443:127.0.0.1:443 root@66.205.155.169 -i ~/.ssh/vps
      

      其中 66.205.155.169 是你所购买的vps的IP

      如果一切顺利,那么vps就会监听80和443端口,当有请求时,会将请求转发到你家中的主机。

      root@ss:~# netstat -ntpl
      Active Internet connections (only servers)
      Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
      tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      29639/sshd: root
      tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      29512/sshd
      tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      29606/sshd: root
      tcp6       0      0 :::80                   :::*                    LISTEN      29639/sshd: root
      tcp6       0      0 :::22                   :::*                    LISTEN      29512/sshd
      tcp6       0      0 :::443                  :::*                    LISTEN      29606/sshd: root
      

    相关文章

      网友评论

          本文标题:如何使用家里主机提供WEB服务

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