Windows服务搭建web网站,使用cpolar内网穿透实现公网访问

news2025/2/28 15:31:28

文章目录

  • 概述
  • 1. 搭建一个静态Web站点
  • 2. 本地浏览测试站点是否正常
  • 3. 本地站点发布公网可访问
    • 3.1 安装cpolar内网穿透
    • 3.2 创建隧道映射公网地址
    • 3.3 获取公网URL地址
  • 4. 公网远程访问内网web站点
  • 5. 配置固定二级子域名
    • 5.1 保留二级子域名
    • 5.2 配置二级子域名
  • 6. 测试访问二级子域名

概述

本次教程中,我们将实现在windows上搭建一个web站点,并通过cpolar内网穿透,将该站点免费发布上线,实现公网用户可正常访问本地web站点。

cpolar是一个非常强大的内网穿透工具,开发调试的必备利器。

它可以将本地内网服务器的HTTP、HTTPS、TCP协议端口映射为公网地址端口,使得公网用户可以轻松访问您的内网服务器,无需部署至公网服务器。支持永久免费使用,无需公网IP,也无需设置路由器。

1. 搭建一个静态Web站点

点击下载TODO LIST测试演示站点 ↓

  • https://www.cpolar.com/static/downloads/todo/cpolar-todo-mvc-stable-windows-amd64.zip

下载成功后,解压缩该文件

20221117173901

解压后的文件

20221117173908

双击该程序运行演示站点

20221117173915

20221117173920

2. 本地浏览测试站点是否正常

在浏览器上访问http://localhost:8080,可以看到页面有正常显示出来,演示站点本地浏览正常。

20221117173929

目前该站点只能在自己的浏览器被访问到,其他公网用户无法访问。接下来我们使用cpolar内网穿透将该站点发布到公网,实现公网用户也可以正常访问到。

3. 本地站点发布公网可访问

3.1 安装cpolar内网穿透

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

访问cpolar官网,点击右上角的免费注册,使用邮箱注册一个cpolar账号,并登录进入cpolar后台。

20221117173841

登录成功后,下载cpolar到本地,并双击安装包进行安装(一路默认安装即可)

cpolar安装成功后会默认安装两个样例隧道(可自行修改或删减):

  • remoteDesktop:指向本地3389端口,tcp协议
  • website:指向本地8080端口,http协议

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

3.2 创建隧道映射公网地址

cpolar安装成功后,在浏览器上访问127.0.0.1:9200,使用注册的cpolar账号密码登录cpolar web UI管理界面。(默认为本地9200端口)

20221117173937

由于我们的演示站点端口在8080端口下,所以我们可以直接使用website隧道。

登录进入cpolar web ui界面后,我们点击左侧仪表盘的隧道管理——隧道列表,找到website隧道,可以看到显示状态为active表示为正常在线状态,可以直接点击左边的状态——在线隧道列表查看所生成的公网地址,复制公网地址在浏览器上访问即可。

20221117173943

或者,我们也可以重新创建一个新的隧道:点击左侧仪表盘的创建隧道

  • 隧道名称:可自定义,注意不要重复
  • 协议:选择http
  • 本地地址:填写8080端口
  • 域名类型:选择随机域名(可以免费使用)
  • 地区:可根据实际适用地区进行选择,支持CN、HK、US、TW、EUR

隧道信息填写完成后,点击创建即可

20221117173950

3.3 获取公网URL地址

点击左侧仪表盘的状态——在线隧道列表,可以在线隧道所生成的公网地址,可以看到website隧道的公网地址有两个,一个是http协议,一个是https协议,将公网地址复制下来。

20221117173957

4. 公网远程访问内网web站点

在浏览器上访问cpolar所生成的公网地址,本例为https://1ae6da64.r2.vip.cpolar.cn。

成功将内网web站点发布到公网可访问。

20221117174003

通过cpolar内网穿透,我们成功地将本地8080端口下的web站点发布到公网访问,实现公网访问内网。但由于本次使用的cpolar为免费套餐,所生成的公网地址为随机临时地址,每隔24小时就会变化。

如果需要长期使用,可以将站点配置成二级子域名,或自定义域名(使用自己的域名)长期使用。

5. 配置固定二级子域名

登录进入cpolar官网后台,点击左侧仪表盘的套餐,升级cpolar套餐到基础套餐

20221117174119

5.1 保留二级子域名

套餐升级成功之后,我们回到cpolar官网后台,点击左侧仪表盘的预留,我们来为web站点保留一个二级子域名。

  • 地区:选择China VIP
  • 名称:填写您想要保留的二级子域名
  • 描述:即备注,可自定义填写

20221117174126

本例保留一个名称为ToDoList的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

20221117174134

5.2 配置二级子域名

在浏览器上访问127.0.0.1:9200,登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道(本例中为website隧道),点击右侧的编辑

20221117174141

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为ToDoList

修改完成后,点击更新

20221117174151

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到website隧道的公网地址,已经更新为二级子域名了,将公网地址复制下来。

20221117174157

6. 测试访问二级子域名

打开浏览器,我们来测试一下访问配置成功的二级子域名。

20221117174205

测试成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。

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

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

相关文章

Activiti7 工作流非原流程终止

背景 正常工作流,需要经过 node1、node2 才能结束。 现在要求已经开启的流程,目前停留在 node1,可以提前终止。 方案 一般根据实际需要,可以有几种做法: 新绘制流程图,新增 node1 结束的流程分支&#x…

基于 JESD204B 协议ARM+FPGA+AD多板卡多通道同步采集实现方法

0 引言 随着数字化信号处理技术的不断进步,对数字信号 的处理已经成为当前大多数工程应用的基本方法。由于 模拟信号才是现实生活中的原始信号,为了工程研究实 现的可能,需将模拟信号转换为数字信号才能在工程中 处理,AD 转换…

独立按键控制LED移位

1.这就是LED移位的原理 2. #include <REGX52.H> void Delay(unsigned int xms);unsigned char LEDNum;//LEDNum为0000 0000void main() {P2~0x01; //上电默认LED1点亮while(1){if(P3_10) //如果K1按键按下&#xff0c;LED灯往右依次亮起{Delay(20);while(P3_10);//消…

Bandizip已管理员身份运行

系列文章目录 文章目录 系列文章目录前言一、Bandzib是什么&#xff1f;二、使用步骤1.引入库 前言 在解压krita源码包时Bandizip报错 一、Bandzib是什么&#xff1f; bandzip官网 Bandizip 是一款压缩软件&#xff0c;它支持Zip、7-Zip 和 RAR 以及其它压缩格式。它拥有非…

【22岁,想转行IT,请问培训出来真的能找到工作吗?】

首先需要肯定的是&#xff0c;22岁是一个转行IT的好时间&#xff0c;大概猜想你是大学应届生吧&#xff0c;学历和年龄都是IT企业们非常喜欢的&#xff0c;这个时候如果你刚好有一身过硬的专业技能&#xff0c;那就非常完美了。那么你现在想转行学习&#xff0c;目前对于IT行业…

SpringBoot 整合 ChatGPT API 项目实战

SpringBoot 整合 ChatGPT API 项目实战 一、准备工作 二、补全接口示例 三、申请API-KEY 四、JavaScript调用API 五、SpringBoot使用ChatGPT API 体验到了ChatGPT的强大之后&#xff0c;那么我们会想&#xff0c;如果我们想基于ChatGPT开发一个自己的聊天机器人&#xff0…

计算机网络复习记录(总结 —— 快速入门和快速复习)

一、计算机网络的定义和分类 定义&#xff1a; 简单定义&#xff1a;一些互连、自治、的计算机集合。 较好定义&#xff1a;计算机网络主要是由一些通用的、可编程的硬件互连而成&#xff0c;而这些硬件并非专门用来实现某一特定目的。 分类 按交换技术分类 按使用者分类 …

【工作思考】如何提升自己的编程能力?

文章目录 前言一、代码评审为什么要进行代码评审&#xff1f; 二、持续学习能力三、良好的编程习惯代码注释避免深度嵌套拒绝长函数重视自测文档编写重构你的代码学会思考 四、多接触开源项目五、总结 前言 在工作中&#xff0c;我们大部分的时间都是在阅读代码&#xff0c;阅…

CF204A-Little Elephant and Interval(数位)

CF204A-Little Elephant and Interval 考虑 [ 1 , a b c d e ‾ ] [1,\overline{abcde}] [1,abcde] 的情况&#xff1a; 位置集合数量个位1 ~ 99十位11 ~ 999百位 { x u x ‾ ∣ x ∈ [ 1 , 9 ] , u ∈ [ 0 , 9 ] } \{\overline{xux} | x\in [1,9],u\in [0,9]\} {xux∣x∈[1…

基于Yolov5的二维码QR码识别

1.QR code介绍 一个 QR 码可以分为两个部分&#xff1a;功能图形和编码区域。 数据集 大小10,85张 1.1 通过split_train_val.py得到trainval.txt、val.txt、test.txt # coding:utf-8import os import random import argparseparser argparse.ArgumentParser() #xml文件的地…

设计模式-结构型模式之代理模式

6. 代理模式 6.1. 模式动机 在某些情况下&#xff0c;一个客户不想或者不能直接引用一个对 象&#xff0c;此时可以通过一个称之为“代理”的第三者来实现 间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用&#xff0c;并且可以通过代理对象去掉客户不能看到 的内…

江苏专转本盐城工学院管理学章节习题

江苏专转本盐城工学院管理学章节习题第一章 管理活动与管理理论 一、单项选择题 1.企业在销售产品时,需要预估货款回收的可能性。为此&#xff0c;信用审核部门力图以一种低成本的方式处理有关客户资信的材料,但因为过程速度太慢,使许多客户另求他处购货。该项信用审核工作可…

Power Automate实现自动填充Word

创建Word模板 1、创建一个Word&#xff0c;按需求写好内容 2、在需要填充的地方插入开发工具-纯文本内容控件 3、编辑控件属性&#xff0c;用于Power Automate中区分字段 4、模板完成后上传至Sharepoint站点中 创建Forms 也可使用Sharepoint列表作申请单&#xff0c;这步就…

实战:快速实现iOS应用中集成即时通讯IM和UI

准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒躁.阅读本文并按照本文进行对接预计时长2小时 注册Appkey和username 本教程以集成环信IM为例 注册环信…

SpringBoot 整合 ES (四十二)

我看到希望&#xff0c;哪怕只有微小的一束光&#xff0c;我也会拼尽全力去寻找 上一章简单介绍了 SpringBoot 整合 RabbitMQ (四十一), 如果没有看过,请观看上一章 ES 相应的教程&#xff0c;可以看老蝴蝶之前写的文章: https://blog.csdn.net/yjltx1234csdn/category_122775…

Java 基础常识

一、Java运行机制 1.Java运行原理 编译&#xff1a;.java(源代码) ---> .class(字节码) 解释&#xff1a;.class(字节码) ---> 加载并启动JVM(类加载) ---> .class(机器指令) 执行&#xff1a;通过JVM来完成运行输出 2.Java运行过程 利用 javac 编译 .java 文件 利…

欧姆龙CP1H系列PLC通讯扩展与数据采集

一、应用场景 纺织厂的粗纱机&#xff0c;控制系统由1台欧姆龙CP1H的PLC和1台昆仑通泰MCGS的触摸屏组成&#xff0c;触摸屏连接到PLC通讯扩展的接口CP1W-CIF01&#xff08;RS232串行通讯&#xff09;。现在MES管理系统&#xff0c;需要采集设备的数据&#xff0c;要求不改变原来…

【详解C++中的引用】

文章目录 一、什么是引用二、引用规则三、引用特性四、使用场景1.做函数参数2.做返回值五、常引用 ps&#xff1a;为什么类型转换会产生临时变量&#xff1f; 六、引用和指针的区别总结 一、什么是引用 引用就是给一个变量取别名。 注意&#xff1a;这个引用不会新开辟一块空…

微信小程序自定义组件:组件间通讯

前言 略 组件间通信 组件间的基本通信方式有以下几种&#xff1a; WXML 数据绑定&#xff1a;用于父组件向子组件的指定属性设置数据&#xff0c;仅能设置 JSON 兼容数据&#xff08;自基础库版本 2.0.9 开始&#xff0c;还可以在数据中包含函数&#xff09;。具体在 组件模…

Mybatis-plus 两种分页方法(分单表和联表)

mybatis-plus分别使用 一、PageHelper插件分页使用 准备1&#xff1a;引入PageHelper依赖 <!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId>…