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

搭建Tomcat HTTP服务:在Windows上实现外网远程访问的详细配置与设置教程

文章目录

  • 前言
  • 1.本地Tomcat网页搭建
    • 1.1 Tomcat安装
    • 1.2 配置环境变量
    • 1.3 环境配置
    • 1.4 Tomcat运行测试
    • 1.5 Cpolar安装和注册
  • 2.本地网页发布
    • 2.1.Cpolar云端设置
    • 2.2 Cpolar本地设置
  • 3.公网访问测试
  • 4.结语

前言

Tomcat作为一个轻量级的服务器,不仅名字很有趣(让人想起童年),也拥有强大功能,由于其可以实现JavaWeb程序的装载,就成为配置JSP和Java系统必备的环境软件,也是开发调试JSP程序的首选。Tomcat运行稳定且开源免费,加上apache和Sun的加持即免费和开源的特性,使其广泛应用在中小型系统及并发访问用户较少的场景中。但想要让Tomcat网页能在公共互联网环境下被访问到,就需要cpolar内网穿透的协助。现在。笔者就为大家介绍,如何使用cpolar内网穿透,将Tomcat网页发布到公共互联网上。

1.本地Tomcat网页搭建

Tomcat的优势很多,为节约大家的时间,笔者就不在此冗述,直接进入Tomcat的安装设置。Tomcat作为开源免费软件,可以在其官网上找到下载(https://tomcat.apache.org)。笔者使用的操作系统为Windows,JDK版本为17。

在Tomcat官网,我们找到最新版本的下载页面,点击对应操作系统版本下载即可。

20230323091801

1.1 Tomcat安装

当所需版本的Tomcat程序文件下载完成后,就可以进行安装,首先将下载的压缩文件解压。但暂时不对其进行操作。

20230323091802

1.2 配置环境变量

下载完成后,先不着急对Tomcat进行操作,而是要对环境变量进行配置,具体为右键我的电脑点击属性,在打开的系统页面,选择高级系统设置,点击环境变量按钮进入环境变量设置。

20230323091803

20230323091804

20230323091805

2023032309180601

环境变量页面,新建一个CATALINA_HOME系统变量,做以下设置:

  • 变量名:CATALINA_HOME
  • 变量值:E:\测试软件\apache-tomcat-10.1.7【其中变量值是tomcat的解压位置,可以点击“变量值”栏位下方的“浏览目录”按钮选择路径。】

变量名和变量值设置完成后,点击确认保存。

2023032309180701

接下来选择已经存在的Path条目,点击编辑按钮,在弹出的编辑环境变量页面点击右侧的新建,将以下命令加入指令列表中,再点击确认按钮保存所做的更改。
添加的变量值为:

  • %CATALINA_HOME%\lib
  • %CATALINA_HOME%\lib\servlet-api.jar
  • %CATALINA_HOME%\lib\jsp-api.jar

2023032309180801

20230323091809

到这里,对环境变量的设置就完成了。下一步就是对tomcat进行设置

1.3 环境配置

完成环境变量设置后,我们需要对tomcat的conf文件夹下的user.xml文件进行修改,添加一个可运行的用户。

依据tomcat的解压位置,在其中找到conf文件夹,打开该文件夹,找到tomcat-user.xml文件。

20230323091810

20230323091811

找到这个文件后双击打开,并在文件最后一行添加如下代码:

<role rolename="manager-gui"/> 
<role rolename="admin-gui"/>  
<user username="admin" password="admin" roles="admin-gui"/>
<user username="tomcat" password="admin" roles="manager-gui"/>

20230323091812

代码加入后,保存并退出即可。

1.4 Tomcat运行测试

完成环境变量设置并添加了tomcat用户后,就可以打开tomcat目录下的bin文件夹,双击startup启动tomcat。

20230323091813

启动tomcat后,我们能看到tomcat通过8080端口输出,因此只要在本地电脑浏览器地址栏中,输入localhost:8080,就能打开tomcat的主页。

20230323091814

此时的tomcat还是原始状态,至于如何制作一个看起来不错的网页,就不是这篇文章的主要目的了。接下来我们要想办法为tomcat网页创建一条能够穿透内网的数据隧道,使其能被公共互联网的用户访问到。

1.5 Cpolar安装和注册

相较于tomcat的复杂设置,[cpolar内网穿透](cpolar - 安全的内网穿透工具)的安装和使用就明显简单的多,只要登录cpolar的官网([https://www.cpolar.com/]),在主页上方找到下载按钮,并在cpolar的下载页面找到对应版本的软件下载(笔者使用的是Windows操作系统,因此选择Windows版本下载)。

20230323091815

20230323091816

Cpolar安装程序下载完成,将其解压到本地电脑,双击解压后的.msi文件,接着一路下一步就能完成安装。当然,安装期间还可以选择cpolar的安装文件夹,这也是常规操作了。

20230323091817

20230323091818

由于cpolar会为每个用户创建独立的数据隧道,并辅以用户密码和token码保证数据安全,因此我们在使用cpolar之前,需要进行用户注册。注册过程也非常简单,只要在cpolar主页右上角点击用户注册,在注册页面填入必要信息,就能完成注册。

20230323091819

20230323091820

2.本地网页发布

到这里,我们已经用tomcat创建了一个网页,并能在本地地址上访问到,提供内网穿透数据隧道的cpolar也已经安装注册。接下来,我们就可以使用cpolar创建数据隧道,将本地的tomcat发布到公共互联网上。

由于cpolar免费版的数据隧道每24小时重置一次。笔者并不想每天进行重连tomcat网页设置,因此将cpolar升级至vip版,以便能获得能长期稳定存在的内网穿透数据隧道。

2.1.Cpolar云端设置

要达到内网穿透的目的,需要先登录cpolar的官网,并在用户主页面左侧找到预留按钮,并点击进入cpolar的数据隧道预留页面。在这里生成一个公共互联网地址(也可以看做数据隧道的入口),此时这个公共互联网地址没有连接本地网页输出端口,因此也可以看做是一条空白的数据隧道。

20230323091821

在预留页面,可以看到很多种可保留的数据隧道,这里我们选择保留二级子域名栏位。当然,如果自己有域名的,也可以选择保留自定义域名栏位,但需要在域名供应商处对自有的域名进行解析,才能与cpolar配合使用。

20230323091822

保留二级子域名栏位,需要进行几项信息的简单设置:

  • 地区:服务器所在区域,就近选择即可
  • 二级域名:会最终出现在生成的公共互联网地址中,作为网络地址的标识之一
  • 描述:可以看做这条数据隧道的描述,能够与其他隧道区分开即可

完成这几项设置后,就可以点击右侧的保留按钮,将这条数据隧道保留下来。

20230323091823

20230323091824

当然,如果这条数据隧道不打算再使用,还可以点击右侧的x将其轻松删除,节约宝贵的隧道名额。

2.2 Cpolar本地设置

完成cpolar云端的设置,保留好空白数据隧道后,就能返回本地电脑的cpolar客户端,将云端生成的空白数据隧道与本地的支付宝测试页面连接起来,让我们能在公共互联网上访问到tomcat的网页页面。

在本地打开并登录cpolar客户端(可以在浏览器中输入localhost:9200直接访问,也可以在开始菜单中点击cpolar客户端的快捷方式),点击客户端主界面左侧隧道管理项下的创建隧道按钮,进入本地隧道创建页面(如果要创建没24小时重置地址的临时数据隧道,可直接在此进行设置,不必再cpolar官网设置空白数据隧道)。

在这个页面,同样需要进行几项信息设置,这些信息设置包括:

  1. 隧道名称 – 可以看做cpolar本地的隧道信息注释,只要方便我们分辨即可;
  2. 协议 – tomcat输出的是web网页,因此选择http协议;
  3. 本地地址 – 本地地址即为本地网站的输出端口号,而tomcat默认输出端口为8080,因此这里也填入8080;
  4. 域名类型 – 在这个例子中,我们已经在cpolar云端预留了二级子域名的数据隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,这里我们填入“tomcattest”(如果只是创建临时数据隧道,则直接勾选“随机域名”,由cpolar客户端自行生成网络地址);
  5. 地区 – 与cpolar云端设置时一样,我们依照实际所在地就近填写;

20230323091825

完成cpolar客户端与cpolar云端的数据隧道连接后,cpolar客户端会自动跳转至隧道管理项下的隧道列表页面,我们可以在这个页面看到数据隧道的状态(是否畅通),或是控制隧道的开启、关闭或删除。如果需要对隧道的信息进行变更,也可以通过这里的“编辑”按钮进行

20230323091826

而这条数据隧道的公共互联网地址,则可以在状态——在线隧道列表页面看到。

20230323091827

3.公网访问测试

我们将cpolar内网穿透生成的公共互联网地址,粘贴到其他电脑的浏览器地址栏中,就能看到能够显示本地电脑上的tomcat网页。也就意味着我们已经成功的使用cpolar内网穿透,将本地tomcat网页发布到公共互联网上。

20230323091828

4.结语

虽然看起来这篇文章很长,但实际操作起来,也就会在tomcat设置环境变量时耽搁一会儿,而cpolar的数据隧道设置部分很快就可以操作完成。其实不止tomcat,换做其他web服务器,只要知道软件(网页)的输出端口,都可以使用cpolar创建穿透内网的数据隧道,将这个软件(网页)发布到公共互联网。

相关文章:

搭建Tomcat HTTP服务:在Windows上实现外网远程访问的详细配置与设置教程

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…...

Java学习笔记——继承(包括this,super的使用总结)

继承&#xff1a; 使用情景&#xff1a;当类与类之间&#xff0c;存在相同&#xff08;共性&#xff09;的内容&#xff0c;并满足子类是父类的一种&#xff0c;就可以考虑使用继承&#xff0c;来优化代码 Java中提供一个关键字extends&#xff0c;用这个关键字&#xff0c;我…...

Android 获取应用sha1和sha256

在 Android 应用开发中&#xff0c;SHA-1&#xff08;Secure Hash Algorithm 1&#xff09;值是一种哈希算法&#xff0c;常用于生成应用的数字签名。这个数字签名用于验证应用的身份&#xff0c;并确保应用在发布到设备上时没有被篡改。 以下是生成 Android 应用的 SHA-1 值的…...

c# 方法参数修饰符(out、ref、in)的区别

在C#中&#xff0c;ref、out和in是三种方法参数修饰符&#xff0c;它们在传递参数的方式和作用上有所不同。 ref修饰符&#xff1a; 传递方式&#xff1a;使用ref修饰符的参数可以是输入输出参数&#xff0c;即在方法调用前后都可以对其进行修改。 作用&#xff1a;通过ref修…...

shell 编写一个带有进度条的程序安装脚本

需求 使用 shell 写一个 软件安装脚本&#xff0c;带有进度条 示例 #!/bin/bash# 模拟软件安装的步骤列表 steps("解压文件" "安装依赖" "配置设置" "复制文件" "")# 计算总步骤数 total_steps${#steps[]}# 安装进度的初…...

服务器数据恢复-AIX PV完整镜像方法以及误删LV的数据恢复方案

AIX中的PV相当于物理磁盘&#xff08;针对于存储来说&#xff0c;PV相当于存储映射过来的卷&#xff1b;针对操作系统来说&#xff0c;PV相当于物理硬盘&#xff09;&#xff0c;若干个PV组成一个VG&#xff0c;AIX可以将容量不同的存储空间组合起来统一分配。AIX把同一个VG的所…...

首席执行官Adam Selipsky解读“亚马逊云科技的技术产品差异化”

迄今为止&#xff0c;亚马逊云科技已经参与了21世纪几乎所有的大型计算变革&#xff0c;亚马逊云科技是一个很传奇的故事&#xff0c;它始于大约20年前的一项实验&#xff0c;当时亚马逊试图出售其过剩的服务器。人们确实对此表示怀疑。为什么在线书店试图销售云服务&#xff1…...

C++ Day3

目录 一、类 【1】类 【2】应用实例 练习&#xff1a; 【3】封装 二、this指针 【1】this指针的格式 【2】必须使用this指针的场合 三、类中的特殊成员函数 【1】构造函数 i&#xff09;功能 ii&#xff09;格式 iii&#xff09;构造函数的调用时机 iv&#xff09;…...

OpenEuler 安装mysql

下载安装包 建议直接使用在openEuler官方编译移植过的mysql-5.7.21系列软件包 参考&#xff1a;操作系统迁移实战之在openEuler上部署MySQL数据库 | 数据库迁移方案 | openEuler社区官网 MySQL 5.7.21 移植指南&#xff08;openEuler 20.03 LTS SP1&#xff09; | 数据库移植…...

[Docker] Windows 下基于WSL2 安装

Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。 1. 开启虚拟化 进入系统BIOS&#xff08;AMD 为 SVM&#xff1b;Intel 为 Intel-vt&#xff09;改为启用(enable) 2. 开启WSL 系统设置->应用->程序和功能->…...

(未完成)【Spring专题】SringAOP底层原理解析——阶段三(AOP)

目录 前言前置知识代理范式SpringAOP的理解Spring动态代理的实现 课程内容一、动态代理的实现1.1 Cglib动态代理1.2 JDK动态代理1.3 ProxyFactory&#xff1a;Spring对两种代理的封装 二、AOP基础知识AOP基础概念回顾通知Advice的分类Advisor的理解 三、创建代理对象的方式3.1 …...

使用Nodejs创建简单的HTTP服务器,借助内网穿透工具实现公网访问的方法分享

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…...

使用 OpenTelemetry 构建可观测性 03 - 导出

上一个博文中&#xff0c;我提到如何使用 OpenTelemery 的特定语言 API 来收集遥测数据&#xff0c;包含手动和自动的埋点技术&#xff0c;这很重要&#xff01;但是&#xff0c;收集遥测数据只是解决方案的第一步。 你需要把遥测数据路由转发到其他地方&#xff0c;同时添加额…...

Pyqt5打开电脑摄像头进行拍照

目录 1、设计UI界面 2、设计逻辑代码&#xff0c;建立连接显示窗口 3、结果 1、设计UI界面 将ui界面转为py文件后获得的逻辑代码为&#xff1a;&#xff08;文件名为 Camera.py&#xff09; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file …...

Flowable 7.0.0.M2 版本功能

CMMN 支持批量迁移重复支持案例重新激活支持停止内务处理批处理Http 任务支持 HTTP HEAD and OPTIONS for the Http Tasks移除了 Spring Boot 启动器 flowable-spring-boot-starter-basic - 切换为 flowable-spring-boot-starter-process flowable-spring-boot-starter-rest-ap…...

【golang】关于指针的有限操作

传统意义上来说&#xff0c;指针是一个指向某个确切的内存地址的值。这个内存地址可以是任何数据或代码的起始地址。在Go语言中有几种东西可以代表"指针"。其中最贴切传统意义的当属uintptr类型的了。该类型实际上是一个数值类型&#xff0c;也是Go语言内建的数据类型…...

ProGuard + SpringBoot3 + JDK17

1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…...

Kafka面试

文章内容转自: 华仔聊技术(Kafka 面试连环炮) 目录 一.初级 1.Kafka核心组件图 2.在 Kafka 中 Zookeeper 作用是什么? 3.生产者有哪些发消息的模式? 4.Kafka 如何合理设置分区数,越多越好吗? Kafka 如何合理设置分区数 分区设置越多越好吗? 5.如何保证 Kafka 中的…...

Amazon CloudFront 部署小指南(六)- Lambda@Edge 基础与诊断

内容简介 本文适用于希望使用 Amazon CloudFront LambdaEdge 提升 Amazon CloudFront 边缘计算能力的用户&#xff0c;旨在帮助您更好的进行 CloudFront LambdaEdge 的开发、调试、测试、部署等工作。 首先我们会对 CloudFront LambdaEdge 做个简单的介绍&#xff0c;然后分七个…...

centos7安装hadoop 单机版

1.解压 &#xff08;1&#xff09;将hadoop压缩包复制到/opt/software路径下 &#xff08;2&#xff09;解压hadoop到/opt/module目录下 [rootkb135 software]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/ &#xff08;3&#xff09;修改hadoop属主和属组 [rootkb135 m…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下&#xff0c;大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性&#xff0c;吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型&#xff0c;成为释放其巨大潜力的关键所在&…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)

注&#xff1a;文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件&#xff1a;STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...