本地快速部署Apache服务器并使用内网穿透实现远程访问

Apache服务安装配置与结合内网穿透实现公网访问

文章目录

  • Apache服务安装配置与结合内网穿透实现公网访问
    • 前言
    • 1.Apache服务安装配置
      • 1.1 进入官网下载安装包
      • 1.2 Apache服务配置
    • 2.安装cpolar内网穿透
      • 2.1 注册cpolar账号
      • 2.2 下载cpolar客户端
    • 3. 获取远程桌面公网地址
      • 3.1 登录cpolar web ui管理界面
      • 3.2 创建公网地址
    • 4. 固定公网地址

前言

Apache作为全球使用较高的Web服务器软件,它可以在几乎所有常见的计算机平台上运行。由于其卓越的跨平台性和高级安全性,又兼具快速、可靠且易于通过简单的API扩展而闻名,被广泛应用于Web服务器领域。本文主要分享一下在Windows系统如何安装与配置Apache服务,并结合内网穿透工具实现公网远程访问本地内网的Apache服务。

img

1.Apache服务安装配置

1.1 进入官网下载安装包

首先,我们进入Apache的官网下载页面(https://www.apachehaus.com/cgi-bin/download.plx) ,根据需要的版本下载安装包。

image-20230906153157458

需要注意的是,因为Apache需要VC++可再发行组件包来进行解析,所以如果你电脑中目前没有安装VC++,那需要先到该下载页面底部,下载VC++并安装后,再安装Apache服务。

image-20230906152829234

1693987431356

安装好VC++后,将下载好的Apache文件压缩包解压,把Apache24文件夹剪切到系统盘根目录下。

image-20230906155222938

1.2 Apache服务配置

首先,使用快捷键win+R,或者桌面左下角搜索框输入cmd,选择以管理员身份运行

1694058077742

输入cd c:\

再输入cd Apache24,进入Apache文件夹路径

再输入cd bin

最后输入httpd -k install,直接回车

1694058332155

看到下方显示successful installed 即可发现已经成功安装Apache,弹出防火墙提示框选择允许访问即可。

1694058277143

此时,进入Apache24文件夹中的bin文件夹

1694058514018

双击打开ApacheMonitor应用程序

1694058582955

打开后,桌面右下角会显示Apache的标志,双击左键即可打开Apache服务界面

1694058714549

1694058800628

点击右边的Start按钮,如下图所示图表从红色变为绿色即为服务启动成功

1694058916404

此时,在浏览器中输入localhost,显示该页面即为整个配置过程成功。

image-20230907115741555

2.安装cpolar内网穿透

2.1 注册cpolar账号

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

点击右上角的免费注册,使用邮箱免费注册一个cpolar账号并登录

20221117173301

2.2 下载cpolar客户端

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

20221117173307

3. 获取远程桌面公网地址

3.1 登录cpolar web ui管理界面

在浏览器上访问127.0.0.1:9200,使用所注册的cpolar邮箱账号登录cpolar web ui管理界面(默认为本地9200端口)

20221117173316

3.2 创建公网地址

登录成功进入主界面后,我们点击左侧仪表盘的隧道管理——隧道列表,再点击创建隧道.

1694073249193

  • 隧道名称:可自定义命名,不能与已有的隧道名重复,这里笔者填写了Apache-1

  • 协议:选择http

  • 本地地址:80

  • 域名类型:免费选择随机域名

  • 地区:China Top

点击创建

1694073531793

然后点击左侧状态中的在线隧道列表,可以看到刚才创建的Apache-1隧道,生成了两个公网地址,有两种访问方式,分别是http 和https,随意复制一个地址,在公网电脑浏览器打开即可,如下图所示即代表访问成功。

image-20230907160323411

4. 固定公网地址

需要注意的是,本次教程中使用的是免费cpolar所生成的公网随机临时地址,该地址24小时内会发生变化,对于需要长期远程的用户来讲,配置一个固定地址就很有必要。

因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

1694074618219

以本次教程为例,地区选择China VIP,二级域名填写Apachetest,描述填写ceshi,点击保留。

image-20230907161930901

保留成功后复制保留的二级子域名地址,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:Apache-1,点击右侧的编辑

1694074866373

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名 Apachetest

点击更新

1694074997063

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称

1694075057194

最后,我们使用固定的公网地址进行连接访问,复制http://apachetest.vip.cpolar.cn到另一台公网电脑浏览器打开,无报错和连接异常,可以看到连接成功,这样一个固定不变的地址访问就设置好了。

image-20230907162808470

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

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

相关文章

【自习室预约系统源码】基于springboot框架的自习室管理和预约系统设计

🍅 简介:500精品计算机源码学习 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 文末获取源码 目录 一、以下学习内容欢迎领取: 二、文档资料截图: 三想了解更多,请收藏、评论、留言:…

GPTs每日推荐--生化危机【典藏版】

今天给大家推荐一个游戏性质的GPTs,叫做生化危机典藏版,国内点击可玩。 开篇:玩家从末日中醒来。 选择:玩家会遇到各种资源、任务、剧情,需要自行选择相关的分支剧情,一旦选错,无法重选。 结局…

openGauss学习笔记-142 openGauss 数据库运维-例行维护-导出并查看wdr诊断报告

文章目录 openGauss学习笔记-142 openGauss 数据库运维-例行维护-导出并查看wdr诊断报告 openGauss学习笔记-142 openGauss 数据库运维-例行维护-导出并查看wdr诊断报告 生成快照数据需参数enable_wdr_snapshoton,访问WDR快照数据需要sysadmin或monadmin权限&#…

【PID学习笔记 5 】控制系统的性能指标之一

写在前面 PID在实际工程中最重要的工作就是调参,那么首先就要了解控制系统的性能指标。上文最后简要介绍了控制系统的基本要求,本文开始将系统学习控制系统的性能指标,内容比较多,初步计划是分三节来讲解。本文重点介绍性能指标的…

VirtualBox+Vagrant安装虚拟机

文章目录 一、下载Virtualbox和Vagrant1、下载2、安装 二、安装虚拟机1、新建目录D:\VirtualMachine2、执行vagrant init centos/7命令,就会在该目录下创建Vagrantfile文件3、执行vagrant up命令4、查看当前主机分给虚拟机的网关网段5、找到D:\VirtualMachine下的Va…

leetcode算法之栈

目录 1.删除字符串中的所有相邻重复项2.比较含退格的字符串3.基本计算器II4.字符串解码5.验证栈序列 1.删除字符串中的所有相邻重复项 删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {string ret;//使用数组模拟栈操作for(auto …

基于单片机远程温控检测系统

**单片机设计介绍,基于单片机远程温控检测系统(含上位机) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的远程温控检测系统可以用于远程监测和控制温度,实现远程温度监…

关于栈的简单理解

1. 栈(Stack) 1.1 文字讲解 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则&a…

gromacs学习及使用(1)

1.Gromacs的使用 2.Gromacs 的第一步_能量最小化 3.分子动力学模拟Gromacs一般使用步骤(空蛋白) 4.GROMACS优化(没看懂) 5.GROMACS快速入门(有好东西) GROMACS中文教程 gmx editconf -f xxx -o xxx6.GROMACS运行参数之em.mdp文…

Open3D 最小二乘拟合空间直线(方法二)

目录 一、算法原理1、算法过程2、参考文献二、代码实现三、结果展示四、相关链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理

docker踩坑记录:docker容器创建doris容器间无法通讯问题

背景: 开发大数据平台,使用doris作为数据仓储,使用docker做集群部署,先进行开发环境搭建,环境为BE1;FE1,原来使用官方例子,但是官方例子是创建了一个bridge使用172.20.80.0/24通讯,…

「Swift」类淘宝商品瀑布流展示

前言:需要做一个类似于淘宝商品页面的瀑布流展示 结构分析: ps:图片来源 思路分析: 该瀑布流主要还是基于UICollectionView进行展示,只是在cell展示的UICollectionViewFlowLayout需要进行相应调整和自定义&#xff…

Mybatis 操作续集(连着上文一起看)

"查"操作(企业开发中尽量不使用*,需要哪些字段就写哪些字段,都需要就全写上) Mybatis 会自动地根据数据库的字段名和Java对象的属性名进行映射,如果名称一样就进行赋值 但是那些名称不一样的,我们想要拿到,该怎么拿呢? 一开始数据库字段名和Java对象属性名如下图…

C# | 使用AutoResetEvent和ManualResetEvent进行线程同步和通信

使用AutoResetEvent和ManualResetEvent进行线程同步和通信 文章目录 使用AutoResetEvent和ManualResetEvent进行线程同步和通信介绍AutoResetEventManualResetEvent 异同点使用场景和代码示例AutoResetEvent 使用示例ManualResetEvent 使用示例阻塞多个线程并同时激活 介绍 在…

创新领航 | 竹云参编《基层智治系统安全接入规范》团体标准正式发布!

近日,由杭州市委办公厅(市密码管理局)、杭州市基层治理综合指挥保障中心、杭州市拱墅区社会治理中心、杭州市拱墅区数据资源管理局、杭州竹云数字智能科技有限公司、杭州智诚质量标准技术评定中心共同参与编写的《基层智治系统安全接入规范》…

Video Studio会声会影2024中文直装旗舰版

Corel Video Studio会声会影2024中文直装旗舰版是一款很流行的视频编辑处理软件,由于其简单易用,且功能不错,在国内拥有众多使用者,小编之前给大家分享过Corel Video Studio Ultimate会声会影2024旗舰版中文版,今天再为…

8.7 矢量图层点要素点分布(Point displacement)使用

文章目录 前言点分布(Point displacement)QGis代码实现 总结 前言 前面介绍了矢量-点要素-单一符号、矢量-点要素-分类符号、矢量-点要素-分级符号以及矢量-点要素-基于规则的使用本章介绍如何使用点分布(Point displacement)说明…

【兔子王赠书第10期】零基础入门Python,看这篇就够啦!

文章目录 写在前面推荐图书前言为什么要学习编程如何学习编程本书内容获得帮助 推荐理由粉丝福利写在后面 写在前面 粉丝福利第10期来啦,本期博主给大家推荐一本非常适合零基础入门Python的图书:《Python超能学习手册》,祝大家读完本书后都可…

C++:智能指针[重点!]

目录 一、关于智能指针 1、引入智能指针 2、RAII 二、详述智能指针 auto_ptr unique_ptr shared_tr 循环引用 weak_ptr 定制删除器 三、关于内存泄漏 一、关于智能指针 1、引入智能指针 首先引入一个例子: 在Test函数中,new了两个对象p1p2&a…

vue中的this.$nextTick().then()

MENU 示例一示例二sortsplicepushrandomfloorMathwhile演示 示例一 let reorganize function (arr){let rest [];while (arr.length > 0) {let random Math.floor(Math.random() * arr.length);// 把获取到的值放到新定义的数组中rest.push(arr[random]);// 这句代码的作…