本文将介绍内网穿透技术与如何使用它来搭建网站以及云服务器的方法。内网穿透是一种技术,可以将本地上的服务通过互联网对外提供访问。使用内网穿透,可以在没有公网 IP 的情况下,让内网中的计算机对外提供服务。对于想要在家中或者公司内网环境中访问到云服务器或者搭建网站的开发人员或者爱好者来说,内网穿透技术可以起到非常好的作用。
一、内网穿透技术介绍
内网穿透技术是通过对内网路由器进行设置,将内网的网络请求,通过互联网进行转发的一种网络技术。内网穿透技术的实现可以大体上分为以下两种方式:
1. 端口映射方式
端口映射方式是通过修改路由器的端口转发规则,将内网设备的某一端口映射到路由器外网接口,然后通过外网地址和端口号访问内网设备的端口。这种方式常用于将内网服务器对外提供服务,如 HTTP/HTTPS 等服务。
2. 网络隧道方式
网络隧道方式是通过搭建一个中转服务器,并在本地计算机上运行客户端程序,客户端将本地计算机的网络请求发送至中转服务器,中转服务器再将请求转发到目标服务器。这种方式可用于远程桌面、SSH、FTP 等服务。
二、内网穿透搭建网站
在搭建内网穿透之前,需要准备以下两个程序:
1. Ngrok
Ngrok 是一个基于 Go 语言的开源工具,它可以将本地的端口映射到公网上,使得外网用户也可以访问到本地服务。官方网站:https://ngrok.com/。
2. Apache
Apache 是一个开源的 Web 服务器软件,可运行在多种操作系统上。如果我们想要搭建一个网站,就需要安装 Apache 服务器。官方网站:http://httpd.apache.org/。
接下来,我们以搭建一个简单的静态网站为例,具体步骤如下:
1. 安装 Apache 服务器
在安装 Apache 服务器之前,需要确保已经安装了 Java 运行环境(JRE)。可以通过以下命令检查是否已经安装 JRE:
$ java -version
如果没有安装 JRE,则需要安装。在 Ubuntu 中可以使用以下命令:
$ sudo apt install default-jre
在安装 JRE 后,就可以安装 Apache 服务器了。在 Ubuntu 中使用以下命令:
$ sudo apt install apache2
2. 编写 HTML 文件
在 Apache 安装完成后,我们就可以开始编写 HTML 文件了。在本例中,我们创建一个 index.html 文件,并将其放置于 Apache 的默认根目录 /var/www/html 下:
$ cd /var/www/html
$ sudo vi index.html
在 index.html 中,我们可以编写任意的 HTML 文件来展示静态页面内容。例如,我们可以编写以下内容:
Welcome to my website
This is a simple static website.
保存文件后,需要重启 Apache 服务器以使更改生效:
$ sudo service apache2 restart
3. 安装 Ngrok
在安装 Ngrok 之前,需要下载对应系统版本的二进制文件:https://ngrok.com/download。
下载完成后,解压文件,并将可执行文件添加到环境变量中:
$ unzip /path/to/ngrok.zip
$ sudo mv ngrok /usr/local/bin
4. 配置 Ngrok
配置 Ngrok 需要注册一个 Ngrok 账户。注册完成后,在 Ngrok 官网上获取一个 Authtoken,并将其添加到 Ngrok 配置文件中:
$ vi ~/.ngrok2/ngrok.yml
添加以下内容:
authtoken: your_authtoken
5. 启动 Ngrok
启动 Ngrok 需要使用以下命令:
$ ngrok http 80
其中,http 80 是将本地端口 80 映射到公网上,可以使用其他端口号进行映射。
6. 访问网站
当 Ngrok 启动后,它会输出一个公网地址,例如:
Forwarding http://abcdefg.ngrok.io -> http://localhost:80
Forwarding https://abcdefg.ngrok.io -> http://localhost:80
这个地址就是可以在 Internet 上访问我们内网中搭建的网站了。这时,我们可以在浏览器中输入该地址来访问我们的网站。
三、内网穿透搭建云服务器
通过内网穿透技术,可以将内网中的计算机映射到外网上,使外网用户也能够访问内网中的计算机。下面的教程将介绍如何通过内网穿透技术,搭建一个可以从外网远程访问的云服务器。
1. 搭建中转服务器
在内网环境中,由于没有公网 IP,需要一个公网 IP 的服务器作为中转服务器。中转服务器需要具备以下条件:
– 具备公网 IP;
– 具备 SSH 访问权限;
– 具备端口转发能力。
我们可以使用云服务提供商,例如阿里云、腾讯云、AWS 等,来搭建中转服务器。以阿里云为例:
– 登录阿里云控制台;
– 选择产品与服务 > 云服务器 ECS;
– 创建一台云服务器,选择合适的操作系统版本;
– 打开服务器的 SSH 访问权限;
– 在服务器上安装一个 SSH 服务,例如 OpenSSH;
– 将服务器的 22 端口对外开放;
– 在服务器上安装一个内网穿透代理程序。
2. 搭建本地计算机
搭建本地计算机需要注意以下两点:
1. 确保本地计算机能够连接到 Internet。
2. 创建本地计算机的公钥和私钥。
在 Linux 下,可以使用以下命令来创建公钥和私钥:
$ ssh-keygen -t rsa
输入以上命令后,系统会提示你输入文件名和密码。文件名可以自定义,密码可以为空。
3. 运行内网穿透代理程序
在本地计算机上运行代理程序,使其能够将请求发送至中转服务器:
– 下载内网穿透代理程序,例如 Nginx;
– 在中转服务器上安装 Nginx,配置其监听端口,并启动程序;
– 在本地计算机上运行 Nginx 客户端,将本地计算机与中转服务器连通。
4. 远程访问内网计算机
完成上述步骤后,我们就可以使用 SSH 连接工具,比如 PuTTY、Xshell 等,访问内网计算机。以 Xshell 为例:
– 在 Xshell 中打开一个新的连接;
– 在“主机”一栏中输入中转服务器的公网 IP 地址;
– 在“端口”一栏中输入中转服务器的 SSH 端口号;
– 选择“公钥认证”;
– 在弹出的“证书”窗口中,选择本地计算机上的公钥文件;
– 点击“连接”。
连接成功后,我们就能够远程访问内网计算机了。
总结
在本文中,我们介绍了内网穿透技术,以及如何使用内网穿透技术来搭建网站和云服务器。内网穿透技术可以让我们在没有公网 IP 的情况下,对外提供服务。同样,内网穿透技术也存在一些风险,因此在使用前需要了解其原理及其潜在的安全隐患。同时,建议在使用内网穿透技术前请咨询专业人士或者仔细研究相关的文档。
以上就是小编关于“内网穿透搭建网站和云服务器”的分享和介绍
西部数码(west.cn)是经工信部审批,持有ISP、云牌照、IDC、CDN全业务资质的正规老牌云服务商,自成立至今20余年专注于域名注册、虚拟主机、云服务器、企业邮箱、企业建站等互联网基础服务!
公司自研的云计算平台,以便捷高效、超高性价比、超预期售后等优势占领市场,稳居中国接入服务商排名前三,为中国超过50万网站提供了高速、稳定的托管服务!先后获评中国高新技术企业、中国优秀云计算服务商、全国十佳IDC企业、中国最受欢迎的云服务商等称号!
目前,西部数码高性能云服务器正在进行特价促销,最低仅需48元!
https://www.west.cn/cloudhost/