无需租云服务器,Linux本地搭建web服务,并内网穿透发布公网访问

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。

文章目录

转载自cpolar文章:Linux CentOS本地搭建Web站点,并实现公网访问

前言

在web项目中,部署的web站点需要被外部访问,则需要一个媒介,通过把资源放在这个媒介中,再通过所暴露的端口指向这个站点,当外部访问这个媒介所对应的端口时,媒介指向站点,完成访问,像这种类似的媒介,常用的有tomcat容器、Apache等,这边使用Apache来建搭建。

Apache2 是一种流行的 Web 服务器应用程序,也就是通常所说的运行网站的服务器,目前apache在centos已经改名,叫httpd

1. 本地搭建web站点

安装httpd,输入命令,出现y/N,输入y

yum install httpd
• 1

安装完成查看版本信息,出现以下版本信息表示安装成功

httpd -v
• 1

启动服务

service httpd start
• 1

2. 测试局域网访问

打开浏览器输入http://192.168.XX.XX ,局域网访问,httpd默认是80端口,访问时候无需加端口

注意,如没有出现这个页面,可能是防火墙问题,输入以下命令可以关闭防火墙(centos8)

systemctl stop firewalld.service
• 1

3. 公开本地web网站

由于该站点是在本地设备上,局域网之间可以访问,但是公网环境下无法访问,接下来将web站点发布到公网。

这里使用cpolar内网穿透来实现,创建http隧道,将内网80端口映射到公网上,无需公网IP,无需设置路由器,也无需购买云服务器。

cpolar官网:https://www.cpolar.com/

3.1 安装cpolar内网穿透

  • cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
• 1
  • 或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
• 1
  • 查看版本号,有正常显示版本号即为安装成功
cpolar version
• 1
  • token认证
    登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
• 1

  • 简单穿透测试
cpolar http 8080
• 1

按ctrl+c退出

  • 向系统添加服务
sudo systemctl enable cpolar
• 1
  • 启动cpolar服务
sudo systemctl start cpolar
• 1
  • 查看服务状态
sudo systemctl status cpolar
• 1

3.2 创建http隧道,指向本地80端口

cpolar http 80
• 1

如下图所示,有生成相应的公网地址,一个http协议,一个为https协议(免去配置ssl证书的繁琐步骤),将其复制下来

在浏览器输入上面暴露的http公网地址,实现在公网环境访问。出现这个界面表示站点暴露到公网成功。

3.3 配置后台服务

由于以上命令暴露的公网地址在窗口关闭后隧道也将同步关闭无法访问,所以我们需要将参数保存到配置文件中。方便每次开机后,后台自启动运行隧道。

  • 编辑cpolar.yml文件
vi /usr/local/etc/cpolar/cpolar.yml
• 1
  • 打开后按i编辑,在文件中添加如下配置
authtoken: xxxxxxxxxxxx #认证token
tunnels:
  webstation:
    proto: http
    addr: "80"
    region: cn_vip
• 1
• 2
• 3
• 4
• 5
• 6
• 7

参数介绍:

  • webstation:隧道名称,可以自定义
  • proto: 协议,如tcp或者http
  • region:线路地区:有cn cn_vip cn_top等,可自由选择,具体请参考官网文档——全球基础设施

输入完成后按Esc键退出编辑,然后输入:wq保存(如果您的项目部署在其他端口上,也可以指定其他端口)

  • 启动所有隧道测试,出现以下界面,然后复制webstation隧道的公网地址(指向80端口).
cpolar start-all
• 1

  • 打开浏览器输入复制的公网地址访问

4. 配置固定二级子域名

由于使用免费cpolar所生成的公网地址为随机临时地址,24小时内会重复变化。我们可以为其配置固定的二级子域名。

注意,配置固定二级子域名需要将cpolar套餐升级至基础套餐或以上。

进入cpolar官网并登录进入后台界面,点击左侧的预留,找到保留二级子域名,我们来为本地web站点保留一个二级子域名:

  • 地区:选择China VIP
  • 二级域名:可自定义
  • 描述:即备注,可自定义

二级子域名保留成功,将其复制下来

  • 编辑cpolar.yml配置文件
vi /usr/local/etc/cpolar/cpolar.yml
• 1

打开后按i编辑

在webstation下添加一行:subdomain: ”myweb1”

编辑完成按Esc键退出编辑,然后输入:wq回车保存。然后执行启动所有隧道,出现地址后复制公网地址

cpolar start-all
• 1

5. 测试使用固定二级子域名访问本地web站点

在浏览器访问刚刚所配置成功的二级子域名,出现页面配置成功。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
开发框架 监控 .NET
Visual Basic的Web服务和REST API开发指南
【4月更文挑战第27天】本文探讨了使用Visual Basic(VB.NET)构建Web服务和RESTful API的方法。首先介绍了Web服务的基础和REST API的概念,然后阐述了.NET Framework与.NET Core/.NET 5+对VB.NET的支持,以及ASP.NET Core在Web开发中的作用。接着,详细讲解了创建RESTful API的步骤,包括控制器与路由设置、模型绑定与验证,以及返回响应。此外,还讨论了安全措施、测试方法、部署选项和监控策略。最后强调,VB.NET开发者可以通过ASP.NET Core涉足现代Web服务开发,拓宽技术领域。
|
2月前
|
网络协议 Java Nacos
nacos常见问题之在web界面 上下线服务时报错 400如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
33 0
|
2月前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
408 3
|
2月前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
解释如何在 Python 中实现 Web 服务(RESTful API)。
26 0
|
2月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
165 0
|
2月前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
54 0
|
7天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
51 2
|
11天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
13天前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
在Python中实现Web服务(RESTful API)涉及选择框架(如Flask、Django、FastAPI),定义路由及处理函数(对应HTTP请求方法),处理请求,构建响应和启动服务器。以下是一个使用Flask的简单示例:定义用户列表,通过`@app.route`装饰器设置GET和POST请求处理函数,返回JSON响应,并用`app.run()`启动服务器。实际API会包含更复杂的逻辑和错误处理。
14 1
|
29天前
|
数据采集 Java API
python并发编程: Python使用线程池在Web服务中实现加速
python并发编程: Python使用线程池在Web服务中实现加速
18 3
python并发编程: Python使用线程池在Web服务中实现加速