公网访问Linux CentOS本地搭建的Web站点

news2024/11/27 20:34:59

文章目录

  • 前言
  • 1. 本地搭建web站点
  • 2. 测试局域网访问
  • 3. 公开本地web网站
    • 3.1 安装cpolar内网穿透
    • 3.2 创建http隧道,指向本地80端口
    • 3.3 配置后台服务
  • 4. 配置固定二级子域名
  • 5. 测试使用固定二级子域名访问本地web站点

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

前言

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

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

1. 本地搭建web站点

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

yum install httpd

20221228152325

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

httpd -v

20221228153025

启动服务

service httpd start

20221228153034

2. 测试局域网访问

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

20221228153045

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

systemctl stop firewalld.service

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

在这里插入图片描述

  • 简单穿透测试
cpolar http 8080

按ctrl+c退出

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

在这里插入图片描述

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

cpolar http 80

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

20221228153119

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

20221228153132

3.3 配置后台服务

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

  • 编辑cpolar.yml文件
vi /usr/local/etc/cpolar/cpolar.yml
  • 打开后按i编辑,在文件中添加如下配置
authtoken: xxxxxxxxxxxx #认证token

tunnels:
  webstation:
    proto: http
    addr: "80"
    region: cn_vip

参数介绍:

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

20221228153150

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

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

20221228153201

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

20221228153209

4. 配置固定二级子域名

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

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

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

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

20221228153216

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

20221228153223

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

打开后按i编辑

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

20221228153234

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

cpolar start-all

20221228153241

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

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

20221228153251

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664872.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

videojs-player视频播放技术学习

介绍: videojs是一个开源的HTML5视频播放器,它可以在各种设备和浏览器上播放视频。videojs提供了丰富的API和插件,可以实现自定义的视频播放功能。 使用videojs实现视频播放的步骤: 1. 引入videojs库 在HTML文件中引入videojs库…

chatgpt赋能python:Python打开文件路径:一种更轻松的办法

Python打开文件路径: 一种更轻松的办法 在Python编程中,打开文件路径是非常常见的任务。然而,对于许多初学者,Python打开文件路径时可能会面临一些问题和困难。本篇文章将介绍Python打开文件路径的方法,并给出一种更加轻松的解决…

5-垃圾回收

目录 1.死亡对象的判断算法 1.1.引用计数算法 1.2.可达性分析算法(主流) PS:强引用、软引用、弱引用、虚引用 2.垃圾回收算法 2.1.标记-清除算法 2.2.复制算法 2.3.标记-整理算法 2.4.分代算法(主流) PS&…

达梦体系结构

物理结构、逻辑结构、实例(内存结构、进程结构) 一、物理结构 配置文件、控制文件、数据文件、重做日志文件、归档日志文件、备份文件、跟踪日志文件、事件日志文件 (一)配置文件 以.ini结尾的文件,例如dm.ini (相…

chatgpt赋能python:Python打包成so文件的方法:详解

Python打包成so文件的方法:详解 Python是一种灵活且易于使用的高级编程语言,由于其强大的效率和易于上手的特性,在最近几年已经迅速地流行起来。Python支持多种开发范式,例如函数式编程、面向对象编程和脚本编程。 Python的这些…

【UCOS-III】自我学习笔记→第20讲→时间片调度

文章目录 前言实验步骤1.复制任务创建和删除工程文件并删除task3任务,修改任务1和任务2的优先级为22.修改任务1和任务2的内容3.查看示波器现象 测试代码工程文件总结 前言 无,仅作记录,不具有参考价值,所用开发板为STM32F411RET6…

chatgpt赋能python:Python如何打开电脑摄像头

Python如何打开电脑摄像头 Python是一种易于学习和使用的编程语言,因其灵活性和强大的功能而备受欢迎。其中,许多人使用Python来处理图像处理和计算机视觉,这样,了解如何打开电脑摄像头是非常重要的。 在这篇文章中,…

【高危】crypto-js<3.2.1 存在不安全的随机性漏洞

漏洞描述 crypto-js 是一个 JavaScript 加密库,用于在浏览器和 Node.js 环境中执行加密和解密操作。 crypto-js 3.2.1 之前版本中的 secureRandom 函数通过将字符串 0. 和三位随机整数拼接的格式生成加密字符串,攻击者可通过爆破破解加密字符。 漏洞…

ASEMI代理光宝LTV-M501光耦的特点和应用领域

编辑-Z LTV-M501光耦是一种常用的光电隔离器件,具有高速、高耐压、低功耗等特点。本文将从四个方面对LTV-M501光耦进行详细阐述,包括其结构和工作原理、特点和优势、应用领域以及市场前景。通过对LTV-M501光耦的全面介绍,帮助读者更好地了解…

chatgpt赋能python:Python扩展库扩展名:了解常见的.py、.pyc、.pyd、.so、.dll

Python扩展库扩展名:了解常见的.py、.pyc、.pyd、.so、.dll 如果你是一位Python开发者,你肯定会用到各种各样的库来简化你的代码。在Python中,一个库也称为模块,使用它需要将相应的扩展库引入你的代码中。但你是否曾想过扩展库扩…

C++基础学习(2)

C基础学习 一、运算符重载1.1 加号运算符的重载1.2 左移运算符的重载1.3 递增运算符的重载1.4 赋值运算符的重载1.5 关系运算符的重载 二、继承2.1 继承的基本用法2.2 继承方式2.3 继承当中的对象模型2.4 继承当中的构造和析构函数的顺序2.5 继承同名成员处理方式2.6继承同名静…

希尔排序—C语言实现

目录 前言 希尔排序 发展历史 基本思想 时间复杂度 🥰我们以一组数字来说操作说明: gap的选取 动图演示 代码: 总结: 前言 🥰在学数据结构的第一节课就知道了数据结构课程是要管理并且学会操作数据,…

对应分析——SPSS实例分析

对应分析是R型因子分析和Q型因子分析的结合。本质是将列联表里面的频数数据作变换(通过降维的方法)以后,利用二维图的方式,简单直观的表示行变量和列变量之间的相关性,适合于多分类型变量的研究。数据展示如下&#xf…

20利用灰色神经网络预测6个月订单需求(附matlab程序)

1.简述 学习目标:灰色神经网络预测订单需求 灰色系统理论是一种研究少数据、贫信息、不确定性问题的新方法,它以部分信息已知,部分信息未知的“小样本”,“贫信息”不确定系统为研究对象,通过对“部分”已知信息的生成…

Web服务器群集:部署LNMP平台

目录 一、理论 1.LNMP平台 2.Nginx服务基础 3.Nginx访问控制 4.Nginx虚拟主机 二、实验 1.LNMP架构DISCUZ论坛应用 三、问题 1.没有规则可以创建“default”需要的目标“build”。 四、总结 一、理论 1.LNMP平台 (1)概念 LNMP平台是高效稳定的…

LinkedList(1):链表介绍和单向链表的实现

1 链表介绍 链表的分类:单链表,双链表,循环链表 链表:由链将一个个元素连接,每一个元素我们通常将其称之为Node 节点Node 节点:由两部分组成 数据值的变量 Node next 用来存放下一个节点的Node 对象 pack…

redis zrange 与 zrangebyscore的区别

redis zrange 与 zrangebyscore的区别 目录 redis zrange 与 zrangebyscore的区别前言先说概念上的结论:实验数据准备对比案例一对比结论:对比案例二对比结论: 总结 前言 想做一个在redis中获取数据时分页的功能,从网上查找到了z…

【C/C++数据结构与算法】C语言预处理

目录 一、源文件到可执行程序的过程 二、预处理详解 1. 预定义符号 2. #define 3. 条件编译 一、源文件到可执行程序的过程 预处理:去注释,宏替换,头文件展开,条件编译编译:c语言 ---> 汇编语言(语…

软考高级系统架构设计师(二) 基础知识之计算机组成与系统结构

目录 概要 计算机组成结构 CPU组成 冯诺依曼结构 存储系统-层次化存储结构 高速缓冲存储器cache 主存编址计算 磁盘管理 磁盘管理算法 先来先服务(FCFS): 最短寻道时间优先(SSTF) 扫描算法(电梯调度…

【VisualStudio】使用 C++ 语言开发 Qt 环境配置教程

文章目录 1. 安装 Visual Studio2. 安装 Qt3. 联合Ref 先上一张效果图,具体步骤主要分为以下三步。 1. 安装 Visual Studio 这一步不再赘述,注意一定要安装 C 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 2. 安装 Qt 这一步也不再赘…