前言
不知道你有没有想过,搭建个人网站为什么需要购买专门的轻量级应用服务器?在自己本地Windows电脑搭建完成后,然后将域名解析一下,难道就不能访问吗?这样既能保证网站数据的绝对安全,又能方便随时修改进行修改。
然而事实是,这肯定是不行的。因为你的电脑其实处于一个由运营商提供的大的局域网范围内!
正文
网络背景
互联网协议的第四个版本IPV4资源,随着互联网的迅速发展已经枯竭了,说白了就是IP地址不够分了。而这些IP地址大多数都掌握在运营商的手里。
所以后来又逐渐发展出了IPV6和NAT模式等联网模式。
我们现在所处的网络环境其实是在一个个的局域网中,我们所使用的设备作为客户端发送的数据请求,需要经过一个个局域网网关传递向外转发,然后通过某个公网IP才算正式进入到互联网,然后到达服务端。
而假设需要将个人电脑作为服务器的话,通过互联网发送的访问请求到达最外层的局域网时,就会被外层的网关直接积极拒绝,从而造成无法访问。此时就需要用到内网穿透的技术了。
介绍内网穿透
其实关于内网穿透在互联网上并不是什么陌生的名词
早在曾经玩家需要搭建个人的MC(我的世界)服务器的时候,就已经用到这项技术了。
而我之所以会接触到这玩意,正如前言所说,只是一开始想把网站数据储存在本地,这样就可以省下一笔服务器的钱。然而事实并没有我想得那么简单。
内网穿透其实也可以理解为是反向代理,只不过使用场景是内网之间的。
这里主要介绍两种方法,但需要事先说明的是,不是免费的。
开始之前
在本地搭建Web服务需要用到的软件是phpStudy(小皮),选择小皮的原因是这款软件对新手较为友好,且能提供构建网站所需的Apache,Ngnix,MySQL等环境。当然也可以选择通过XAMPP等软件进行替代,不过下面我都通过phpStudy进行演示。下载大家就直接通过浏览器搜索访问官网进行下载即可。
https://www.xp.cn/download.html
通过神卓互联
神卓互联是国内的一个专门做内网穿透等网络服务的专业公司,只需要在电脑上安装相应的PC端程序就行
之前在网上搜资料的时候说神卓是免费的(可我实际试的时候却需要收费?不知道是不是时间差的关系)
如果无法访问就自己环境检测一下,看看是不是防火墙配置的问题。如果关闭了内网穿透服务,也就无法再从公网进行访问了。
通过FRP
其实一开始我是打算使用在宝塔面板的软件商店里找到的这款FRP管理器
不过在试用之后发现根本无法使用,不知道大家有没有碰到同样的问题。
FRP即Fast Reverse Proxy,快速反向代理
参考文章:https://blog.csdn.net/yj222333/article/details/124752420
这就需要你有个人的轻量级应用服务器,因为当你租了一台轻量级应用服务器的时候,才会被分配到一个公网的IP地址。这样通过映射代理等操作,才能使本地的资源通过这个IP地址被互联网所访问到。
但是,你都有服务器了还需要做内网穿透干什么??
……
我这里用到的是国内的服务器,如果是海外的服务器……就有可能会被墙。而要使用国内的服务器根据电信服务的相关法律就可能需要对服务器域名进行备案才能使用……相当的麻烦,需要大家去看其他的相关教程
自己搭建内网穿透,还需要配置相应程序的自动化,比如说可执行程序的开机自启,后台运行等麻烦的操作,这样才能方便用户随时随地的访问。
在GitHub中的项目地址:https://github.com/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz
https://github.com/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_windows_amd64.zip
由于会报毒并被隔离,所以下载时需要事先关闭相关软件
首先要确定访问的方向,也就是谁是服务端谁是客户端。一般服务器是服务端,电脑是客户端。
服务端配置
打开Linux的压缩包(其实总共要用到的也就四个文件)
先在root文件夹下创建frp文件夹,在该文件夹下放置这两个文件
修改frps.ini中的文件如下(即删除原来的文本内容,token数值可以自定义),设置面板的默认用户名和密码是root admin
[common]
bind_port = 7000
dashboard_port = 7500
token = 12345678
dashboard_user = root
dashboard_pwd = admin
还需要在服务器供应商处开放7000和7500端口,还有29980,7001端口(应该也可以直接用80端口不用另开)
在终端中输入 ./frps -c frps.ini 开始代理
此时就可以通过公网地址加7500端口访问面板了 输入 root admin
客户端配置
打开Windows的压缩包,删除其中的frps和frps.ini、frps_full.ini服务端配置文件文件。
客户端配置文件放在电脑的任意位置都可以,更改frpc.ini的内容如下
[common]
server_addr = 服务器公网IP
server_port = 7000
token = 你设置的密钥
[web1]
type = tcp
local_port = 29980
local_ip = 127.0.0.1
remote_port = 29980
在相应文件夹下打开终端操作
输入 ./frpc -c frpc.ini 开始代理
此时就可以通过公网IP+29980端口号进行访问了!
如果你想知道如何搭建本地个人靶场,可以看我的这篇文章。
尾声
要将网站服务器部署在电脑上就需要保证网站环境始终保持开启的畅通状态,也就意味着你要一直开着电脑。这对设备的磨损还是有点大的,还不如直接租一台服务器。上面的这些东西纯属是瞎折腾。