当前位置: 首页 > news >正文

从零开始搭建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

转载自cpolar极点云文章:Apache服务安装配置与结合内网穿透实现公网访问

相关文章:

从零开始搭建Apache服务器并使用内网穿透技术实现公网访问

Apache服务安装配置与结合内网穿透实现公网访问 文章目录 Apache服务安装配置与结合内网穿透实现公网访问前言1.Apache服务安装配置1.1 进入官网下载安装包1.2 Apache服务配置 2.安装cpolar内网穿透2.1 注册cpolar账号2.2 下载cpolar客户端 3. 获取远程桌面公网地址3.1 登录cpo…...

unordered_map和unordered_set的使用

前言 在C98中,STL提供了底层为红黑树的结构的一系列关联式容器,在查询时效率可以达到logN,即使最差的情况下需要比较红黑树的高度次,当树中的节点较多时,查询的效率也不是很理想,最好的查询是,进…...

javascript【格式化时间日期】

javascript【格式化时间日期】 操作&#xff1a; (1) 日期格式化代码 /*** 日期格式化函数<br/>* 调用格式&#xff1a;需要使用日期对象调用* <p> new Date().Format("yyyy/MM/dd HH:mm:ss"); </p>* param fmt 日期格式* returns {*} 返回格式化…...

CCC数字钥匙设计【NFC】--什么是AID?

1、NFC中的AID是什么&#xff1f; AID&#xff0c;英文全称为Application Identifier&#xff0c;这是NFC技术中的概念&#xff0c;AID用于唯一标识一个应用。 NFC应用的AID相关操作&#xff0c;包括注册和删除应用的AID、查询应用是否是指定AID的默认应用、获取应用的AID等 …...

变压器耐压试验电压及电源容量的计算

被试变压器的额定电压为&#xff08;11081. 25%&#xff09; /10. 5kV&#xff0c; 联接组标号为 YNd11。 试验时高压分接开关置于第 1 分接位置&#xff0c; 即高压侧电压为 126kV&#xff0c; 高、 低压电压比 K1126/&#xff08;√310. 5&#xff09; 6. 93。 现以 A 相试验…...

uniapp实现底部弹出菜单选择

其实uniapp有内置的组件&#xff0c;不用自己去实现&#xff0c;类似于这样&#xff1a; uni.showActionSheet({itemList: [菜单一, 菜单二, 菜单三],success: function (res) {console.log(选中了第${res.tapIndex 1}个菜单);},fail: function (res) {console.log(res.errMs…...

14. 线性代数 - 线性方程组

文章目录 线性方程组矩阵行列式全排列和逆序数N阶行列式(非)齐次线性方程Hi,大家好。我是茶桁。 结束了「微积分」部分的学习之后我们稍作休整,今天正式开始另外一部分:「线性代数」的学习。小伙伴们放松完回来要开始紧张起来了。 我们之前说过,不管是哪一个工程学科,根…...

C++QT day4

仿照string类&#xff0c;完成myString类 #include <iostream> #include <cstring> using namespace std; class myString {private:char *str; //记录c风格的字符串int size; //记录字符串的实际长度public://无参构造myString():size(10){s…...

Python中的 if __name__ ==‘main‘

你编写的程序迟早需要创建目录以便在其中存储数据。 os 和 pathlib 包含了创建目录的函数。我们将会考虑如下方法&#xff1a; | 方法 | 描述 | | -------------------- | -------------------------- | | os.mkdir() | 创建单个子目录 | | os.makedirs() | 创建多个目录&…...

github 创建自己的分支 并下载代码

github创建自己的分支 并下载代码 目录概述需求&#xff1a; 设计思路实现思路分析1.进入到master分支&#xff0c;git checkout master;2.master-slave的个人远程仓库3.爬虫调度器4.建立本地分支与个人远程分支之间的联系5.master 拓展实现 参考资料和推荐阅读 Survive by day…...

算法:贪心---跳一跳

1、题目&#xff1a; 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 2…...

机器学习入门教学——梯度下降、梯度上升

1、简介 梯度表示某一函数在该点处的方向导数沿着该方向取得最大值&#xff0c;即函数在该点处沿着该方向&#xff08;梯度的方向&#xff09;变化最快&#xff0c;变化率&#xff08;梯度的模&#xff09;最大&#xff0c;可理解为导数。梯度上升和梯度下降是优化算法中常用的…...

BUUCTF Reverse/[羊城杯 2020]login(python程序)

查看信息,python文件 动调了一下&#xff0c;该程序创建了一个线程来读入数据&#xff0c;而这个线程的代码应该是放在内存中直接执行的&#xff0c;本地看不到代码&#xff0c;很蛋疼 查了下可以用PyInstaller Extractor工具来解包&#xff0c;可以参考这个Python解包及反编译…...

indexDB localForage

一、前言 前端本地化存储算是一个老生常谈的话题了&#xff0c;我们对于 cookies、Web Storage&#xff08;sessionStorage、localStorage&#xff09;的使用已经非常熟悉&#xff0c;在面试与实际操作之中也会经常遇到相关的问题&#xff0c;但这些本地化存储的方式还存在一些…...

Spring Boot开发时Java对象和Json对象互转

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;…...

C++ 多态

引例&#xff1a; #include<iostream> using namespace std; class Animal { public:void speak(){cout<<"动物在说话"<<endl;} }; class Cat:public Animal { public:void speak(){cout<<"小猫在说话"<<endl;} }; void Do…...

LeetCode 之 二分查找

网址&#xff1a; LeetCode 704.二分查找 算法模拟&#xff1a; Algorithm Visualizer 在线工具&#xff1a; C 在线工具 如果习惯性使用Visual Studio Code进行编译运行&#xff0c;需要C11特性的支持&#xff0c;可参考博客&#xff1a; VisualStudio Code 支持C11插件配…...

【性能测试】中间件优化

1、Tomcat 优化连接数、线程池 打开tomcat安装目录\conf\server.xml文件&#xff0c;在server.xml中 有以下配置&#xff1a; tomcat HTTP/1.1 <Connector port"8080" protocol"HTTP/1.1" maxThreads"1000" acceptCount"1500" c…...

【算法】查找类——二分查找算法

二分查找算法算法总结 算法描述 该算法属于查找算法。当需要从有序数组中查找某一元素时&#xff0c;可以使用该算法进行查找。&#xff08;本文章假设数组是升序排列的数组&#xff09; 算法思想 每次进行对半查找&#xff0c;获取中间元素值&#xff0c;然后与目标值进行…...

Ansible FIle模块,使用Ansible File模块进行文件管理

当使用 Ansible 进行自动化配置和管理时&#xff0c;file 模块是一个强大的工具&#xff0c;用于在目标主机上创建、修改和删除文件和目录。它提供了一种简单而灵活的方式来处理文件系统操作。在本文中&#xff0c;我们将详细介绍如何使用 Ansible 的 file 模块。 1. 创建文件 …...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

spring:实例工厂方法获取bean

spring处理使用静态工厂方法获取bean实例&#xff0c;也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下&#xff1a; 定义实例工厂类&#xff08;Java代码&#xff09;&#xff0c;定义实例工厂&#xff08;xml&#xff09;&#xff0c;定义调用实例工厂&#xff…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...