有了一台vps就可以盘活你整个网络环境
- IT
- 2023-04-10
- 161热度
- 2评论
相关环境:一台刚买的vps在德克萨斯州,拥有公网ip。两台笔记本随身携带,一台主机在工作室,一台主机在家。
注意:本人在网络方面是小白,只有大概的概念,可能会有很多不对的地方。
问题:我想做一个网站来提供sd(stable)的服务,但是远程的vps的性能又不够,不能部署,(应该也不会有人在上面部署,除非是某人rich)。
显而易见的是在我家里的主机上对stable进行部署,并且部署成为一个网页。然后将此端口的流量传输到vps上的特定端口,将这两个端口直连进行流量传输,如此我就可以在vps上通过特定的端口进行访问。此方案是不是很完美,但是又一个问题,任何的ip都认识公网ip但是公网ip不认识私有ip,于是在vps上如何找到家中的主机并且传输流量是一个难度较大的事情。要使用SSH隧道的服务,不过目前由于zerotier这类网络爬虫的存在,在多台设备只有一台有公网ip的情况下对所有设备进行组网,拉入一个虚拟的局域网中,这样就不用部署每一台设备间繁琐的ssh部署,直接使用自己虚拟局域网中的私有ip即可。
然后进行反向
zeroiter有各种版本,安卓 苹果 linux mac window都可以使用。使用方法网上一大堆,不再赘述。
因为我是window环境我就以window为例进行讲述:
首先我家里的那台电脑(称为home)和vps上都进行zerotier的安装组网,我的vpsweb服务是使用windows IIS,于是我们使用iis的反向代理功能,
您可以从以下链接下载并安装这些模块:
- URL重写模块:https://www.iis.net/downloads/microsoft/url-rewrite
- 应用程序请求路由模块:https://www.iis.net/downloads/microsoft/application-request-routing安装这些模块后,请打开IIS管理器,然后在左侧的“连接”窗格中选择您的服务器节点。双击"应用程序请求路由缓存",然后在右侧的"操作"窗格中,单击"服务器代理设置"。
然后:
安装这些模块后,请打开IIS管理器,然后在左侧的“连接”窗格中选择您的服务器节点。
双击"应用程序请求路由缓存",然后在右侧的"操作"窗格中,单击"服务器代理设置"。
在"服务器代理设置"对话框中,选中"启用代理"复选框,然后单击"应用"。
接下来,选择要为其设置反向代理的网站。在左侧的“连接”窗格中,展开服务器节点,然后展开“站点”文件夹。右键单击要设置反向代理的站点,然后选择“管理网站”>“配置”以打开网站的配置。
在打开的配置对话框中,找到并双击"URL重写"。
在"URL重写"页面中,单击右侧的"操作"窗格中的"添加规则"。在下拉菜单中选择"反向代理规则"。
在"添加反向代理规则"对话框中,输入您家庭主机的内网IP地址(或动态DNS域名)和端口(例如:192.168.1.100:80)。选中"将远程服务器的SSL证书错误传递给客户端"复选框,然后单击"确定"。
注意:我本身的vps上的80端口跑着一个网页,于是想要不影响本身网页的访问可以在“请求URL匹配”字段中,输入一个正则表达式,该表达式匹配您希望用于访问家里网页的路径。例如,您可以使用 ^home(/.*)?$
,这样当访问 vps:80 时,将会被代理到家里的网页。
但是此方法很麻烦,于是我想到直接把其绑定在其他端口访问就可以直接避免了这个问题,首先在防火墙中放开你想要部署网页的端口,然后:
- 在 VPS 的 IIS 管理器中,右键单击“站点”,然后选择“添加网站”。
- 在“添加网站”窗口中,输入一个描述性的站点名称,选择一个物理路径(可指向一个空目录),并设置端口号为您希望使用的端口(例如,8080)。请确保您选择的端口不与 VPS 上的其他服务冲突。
- 创建完新站点后,选中新站点,在网站的功能视图中,找到并打开“URL 重写”。
- 在“URL 重写”界面中,点击右侧的“添加规则(s)”按钮,然后选择“反向代理规则”。
- 在“创建反向代理规则”界面中,填写如下内容:
- “后端服务器”字段:请输入您家里主机的 ZeroTier IP 地址和端口号,例如
10.x.x.x:80
。 - 请勾选“重写原始主机头为目标服务器的地址”。
- 点击右侧的“应用”按钮,将配置保存并应用。
现在,您可以通过访问 VPS 的公网 IP 和指定端口来访问家里的网页。这样设置不会影响 VPS 默认 80 端口上的网页。
其他环境比如linux的环境配置情况差不多,一个原理,我小白一个,各位大佬多多指教。
有了此方法就相当于拥有无限个公网ip,vps可以起到一个介绍员的作用,也就是流量传输,这样在选购vps时可以考虑更多带宽与流量的vps,而不是性能强大的vps,如果有所需性能的东西可以到你自己的电脑上进行部署,然后通过类似ssh的方式进行流量传输。这样是不是就很爽,哈哈哈哈哈。
带端口访问的话,直接netsh interface portproxy转发一下就行了,不需要用到url重写。
zerotier已经不被推荐,新的方式见blog