内网部署web项目,外网访问不了?只有局域网能访问!怎样解决?

相关技术

要实现“内网部署,外网访问”,可以使用内网穿透、VPN技术、DMZ主机、端口映射等方法。以下是对这些方法的详细解释:

一、内网穿透

内网穿透是一种技术,它通过将内网设备映射到公网上的方式,实现外网访问内网的目的。内网穿透可以使用动态域名系统(DDNS)服务和端口转发来实现。这种方法允许外部用户通过公网访问内网设备,而无需直接连接到内部网络。内网穿透工具如花生壳、natapp等提供了便捷的方式来实现这一功能。使用内网穿透时,需要确保内网设备已正确配置,并开放相应的端口以允许外部访问。

二、VPN技术

VPN(Virtual Private Network,虚拟专用网络)是一种通过建立加密隧道连接的方法,可以在公网上创建一个安全的虚拟网络,将外部用户连接到内网。通过VPN,外部用户可以获得与内网设备相同的IP地址,从而可以直接访问内网资源。VPN技术提供了高度的安全性和隐私保护,因为它在传输过程中对数据进行了加密。要使用VPN技术,需要配置VPN服务器,并在外部设备上安装VPN客户端以建立连接。

三、DMZ主机

DMZ(Demilitarized Zone,非军事区)是一个在网络中设置的特殊区域,用于放置那些需要向外部用户提供服务的服务器。这些服务器通常位于内部网络和外部网络之间,既可以从内部网络访问,也可以从外部网络访问。然而,将服务器放置在DMZ中会增加安全风险,因为DMZ中的服务器更容易受到外部攻击。因此,在使用DMZ主机时,需要采取额外的安全措施来保护服务器的安全。

四、端口映射

端口映射是将内网中的特定主机和端口通过路由器映射到外网的相应端口上,以实现远程访问的技术。通过端口映射,外部用户可以通过输入路由器的公网IP地址和对应端口来访问内网提供的服务。例如,当一台内网Web服务器的IP是192.168.1.100时,外部用户无法直接访问它。但是,可以在路由器上设置端口映射,将路由器的80端口映射到内网Web服务器的80端口。这样,外部用户就可以通过输入路由器的公网IP地址和端口号。。

综上所述,内网穿透、VPN技术、DMZ主机和端口映射都是实现“内网部署,外网访问”的有效方法。选择哪种方法取决于具体的需求、安全性和易用性等因素。在实际应用中,需要根据实际情况进行选择和配置。

项目配置(以若依项目为例https://www.ruoyi.vip/)

本地配置

Tomcat安装与配置【详细!包含常见问题及其解决方案】-CSDN博客

Ruoyi前后端分离项目部署至Tomcat上_若依前端tomcat-CSDN博客

对外开放,虽然现在试还没成功

Tomcat配置--如何能够让外网通过公网IP或域名访问到服务器上面的项目_tomcat foreign address 配置-CSDN博客

若要使用Tomcat配置校园局域网内部的Web项目以允许外网访问,需要按照以下步骤进行:

一、Tomcat服务器配置

  1. 下载并安装Tomcat

    • 从Tomcat官网下载对应版本的Tomcat压缩包,并解压到合适的目录。
    • 确保Java环境已正确安装,并配置好JAVA_HOME环境变量。
  2. 部署Web项目

    • 将Web项目的文件夹(如WAR包或已解压的文件夹)复制到Tomcat的webapps目录下。
    • 如果项目需要特定配置,可以在Tomcat的conf目录下找到server.xml文件,并根据需要进行修改。
  3. 修改Tomcat配置文件

    • 打开server.xml文件,找到<Connector>元素,并修改或添加以下属性:
      • port:设置为Tomcat对外暴露的端口,通常使用8080,但也可以根据需要更改为其他端口(如80或443,但需注意权限和防火墙设置)。
      • protocol:设置为HTTP/1.1
      • connectionTimeout:设置为连接超时时间,单位为毫秒。
      • redirectPort:如果使用了HTTPS,需要设置此属性为HTTPS的端口号。
    • 示例配置:
    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    • 如果需要支持HTTPS,还需要配置SSL连接器,并生成证书。

二、网络配置

  1. 配置防火墙

    • 在校园网络防火墙中,为Tomcat服务器的端口(如8080)创建入站规则,允许外部访问。
    • 如果使用了HTTPS,还需要为HTTPS端口(如443)创建入站规则。
  • 控制面板-》系统和安全-》Windows Defender防火墙

  •  高级设置-》新建入站规则-》依次设置

          

  1. 确保Tomcat服务器具有外网IP

    • 如果Tomcat服务器位于校园局域网内部,需要确保该服务器具有一个可以被外网访问的公网IP地址。
    • 如果服务器只有内网IP地址,可以考虑使用网络NAT(地址转换)或端口转发等技术,将外网访问请求转发到内网服务器。
  2. DNS配置

    • 如果希望使用域名访问Tomcat服务器,可以注册一个域名,并将其解析到Tomcat服务器的公网IP地址。
    • 在DNS提供商的管理界面中,添加A记录或CNAME记录,将域名指向Tomcat服务器的IP地址。

三、其他配置

  1. 反向代理(可选)

    • 为了提高安全性和性能,可以使用Nginx或Apache等反向代理服务器,将外部请求转发到Tomcat服务器。
    • 反向代理服务器还可以提供负载均衡、SSL卸载等功能。

ngnix!!!必学虽然还没学nginx部署前端vue项目步骤-CSDN博客

  1. 安全性设置

    • 确保Tomcat服务器的管理界面受到强密码保护。
    • 定期更新Tomcat服务器和Java环境,以获取最新的安全补丁。
    • 使用HTTPS协议,确保数据传输的安全性。

四、验证配置

  1. 启动Tomcat服务器

    • 在Tomcat的安装目录下,运行startup.bat(Windows)或startup.sh(Linux/Unix)脚本,启动Tomcat服务器。
  2. 访问Web项目

    • 在浏览器中,输入Tomcat服务器的域名或IP地址,以及端口号(如果未使用默认端口8080),然后访问Web项目。
    • 例如:http://yourdomain.com:8080/yourproject 或 http://yourserverip:8080/yourproject
  3. 检查日志

    • 查看Tomcat的日志文件(如catalina.out),确保没有错误或警告信息。
    • 如果出现问题,可以根据日志信息进行排查和解决。

通过以上步骤,可以配置Tomcat服务器以允许外网访问校园局域网内部的Web项目。请确保在进行任何配置之前,已经获得了校园网络管理部门的许可和支持。

实用策略

要让校园局域网内部署的Web项目在外网也能访问,可以通过以下方法和步骤来实现:

方法一:使用花生壳内网穿透(或者cpolar)

花生壳是一款ddns动态域名解析软件,可以实现内网穿透,使得外网用户能够通过固定的域名访问内网主机。以下是使用花生壳内网穿透的详细步骤:

  1. 搭建内网网站服务

    • 在校园局域网内的服务器上安装并配置IIS(Internet Information Services)或其他Web服务器软件。
    • 打开Internet信息服务(IIS)管理器,添加一个新的网站,并配置网站的物理路径、绑定地址(使用内网IP地址)和端口(如80)。
  2. 注册并开通花生壳服务

    • 访问花生壳官网,注册一个账号并开通花生壳内网穿透服务。
    • 在服务器电脑上下载并安装花生壳客户端,使用注册的账号登录。
  3. 添加内网映射

    • 在花生壳客户端中,添加一个新的内网映射,填写映射名称、内网主机IP地址、内网端口以及希望使用的外网域名。
    • 花生壳会自动生成一个外网访问地址,通过这个地址,外网用户就可以访问到内网的Web项目了。

方法二:部署到云服务器

将Web项目部署到云服务器上,是另一种实现外网访问的方法。以下是详细步骤:

  1. 选择合适的云服务提供商

    • 根据项目的需求选择合适的云服务提供商(如AWS、Azure、阿里云等),并创建一个新的虚拟机实例。
  2. 配置服务器

    • 在虚拟机实例上安装操作系统(如Ubuntu、CentOS、Windows Server等),并配置网络设置,确保服务器可以通过互联网访问。
    • 根据Web项目的技术栈,安装必要的软件和依赖。
  3. 上传项目文件

    • 使用SCP、FTP等工具将本地开发环境中的项目文件上传到云服务器。
    • 确保项目文件上传后,路径和结构与本地环境一致。
  4. 配置域名和DNS

    • 购买并注册一个域名,通过域名注册服务提供商的管理控制台配置DNS记录,将域名指向云服务器的公网IP地址。
  5. 开放防火墙端口

    • 在云服务提供商的管理控制台中配置防火墙规则,开放HTTP(端口80)和HTTPS(端口443)端口。
    • 在云服务器的操作系统上,也需要配置操作系统自带的防火墙。
  6. 配置反向代理(可选)

    • 为了提高项目的性能和安全性,可以在云服务器上安装反向代理服务器(如Nginx、Apache),将外部请求转发到内部应用服务器。
  7. 确保安全性

    • 使用HTTPS协议确保数据传输的安全性。
    • 定期更新服务器操作系统和软件,确保最新的安全补丁已应用。
    • 定期备份项目文件和数据库,防止数据丢失。

注意事项

  • 在进行任何配置之前,请确保已经获得了校园网络管理部门的许可和支持。
  • 在配置过程中,要注意保护服务器的安全,避免受到恶意攻击和入侵。
  • 如果使用花生壳等第三方服务,请确保选择可靠的服务提供商,并遵循其使用指南和安全建议。

通过以上方法,可以让校园局域网内部署的Web项目在外网也能被访问。具体选择哪种方法,可以根据项目的需求、预算以及校园网络的具体情况来决定。

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

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

相关文章

Android MVVM demo(使用DataBinding,LiveData,Fresco,RecyclerView,Room,ViewModel 完成)

使用DataBinding&#xff0c;LiveData&#xff0c;Fresco&#xff0c;RecyclerView&#xff0c;Room&#xff0c;ViewModel 完成 玩Android 开放API-玩Android - wanandroid.com 接口使用的是下面的两个&#xff1a; https://www.wanandroid.com/banner/jsonhttps://www.wan…

c++11(一)

c11&#xff08;一&#xff09; 1. C11的发展历史2. 列表初始化2.1 C98传统的{}2.2 C11中的{}2.3 C11中的std::initializer_list 3. 右值引⽤和移动语义3.1 左值和右值3.2 左值引⽤和右值引⽤3.3 引⽤延⻓⽣命周期3.4 左值和右值的参数匹配3.5 右值引⽤和移动语义的使⽤场景3.5…

‍️代码的华尔兹:在 Makefile 的指尖上舞动自动化的诗篇

文章目录 &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️背景——一个优秀工程师必备技能&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️一、&#x1f929;&#x1f929;快速了解…

SpringBoot中使用Thymeleaf模板引擎

和使用freemarker差不多的方式 1、导入thymeleaf的启动器 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 2、编写Controller类 3、编写模板页面 注…

vue之子组件向父组件传值

参考博客先挂上 vue3中子传父&#xff08;emit&#xff09;、父传子&#xff08;props&#xff09;一篇文章拿下第一次写文章&#xff0c;告诉你vue3中如何实现父子相传&#xff0c;一篇文章帮 - 掘金 父组件通过 props 向子组件传值 1.子组件使用 $emit 触发事件 2.在父组件…

第26天 安全开发-PHP应用模板引用Smarty渲染MVC模型数据联动RCE安全

时间轴&#xff1a; 演示案例 新闻列表&模板引用-代码RCE安全 知识点 1、PHP 新闻显示-数据库操作读取显示 2、PHP 模版引用-自写模版&Smarty 渲染 3、PHP 模版安全-RCE 代码执行&三方漏洞 新闻列表 1.数据库创建新闻存储 2.代码连接数据库读取 3.页面进行自定…

【微服务】Docker 容器化

一、初识Docker 1. 为什么需要 Docker 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会遇到一些问题&#xff1a; 依赖关系复杂&#xff0c;容易出现兼容性的问题开发、测试、生产环境有差异 Docker 如何解决依赖的兼容问题 将应用的Libs&#xff08;…

(十四)JavaWeb后端开发——MyBatis

目录 1.MyBatis概述 2.MyBatis简单入门 3.JDBC&#xff08;了解即可&#xff09; 4.数据库连接池​ 5.lombok 6.MyBatis基本操作 7.XML映射文件 8.动态SQL 8.1 if标签 8.2 foreach标签 8.3 sql/include标签​ 1.MyBatis概述 MyBatis是一款优秀的持久层&#xff08…

pytorch实现深度神经网络DNN与卷积神经网络CNN

DNN概述 深度神经网络DNN来自人脑神经元工作的原理&#xff0c;通过在计算机中逻辑抽象出多个节点&#xff0c;接收处理并向后传递信息&#xff0c;实现计算机的自我学习&#xff0c;类比结构见下图&#xff1a; 该方法通过预测输出与实际值的差异不断调整节点参数&#xff0…

私域流量圈层在新消费时代的机遇与挑战:兼论开源 AI 智能名片、2 + 1 链动模式、S2B2C 商城小程序的应用

摘要&#xff1a;本文剖析了私域流量圈层在新消费时代呈现出的独特温度与信任优势&#xff0c;阐述了从传统销售到新消费转型中用户心理的变化。同时&#xff0c;强调了内容对于私域流量的关键作用&#xff0c;并分析开源 AI 智能名片、2 1 链动模式、S2B2C 商城小程序在私域流…

1.4 配置 Android 构建系统

Android 构建系统会编译应用资源和源代码&#xff0c;然后将它们打包成 APK 或 Android App Bundle 文件&#xff0c;供您测试、部署、签名和分发。 创建自定义 build 配置需要您对一个或多个 build 配置文件做出更改。这些纯文本文件使用领域特定语言 (DSL) 通过 Kotlin 脚本&…

containerd配置私有仓库registry

机器ip端口regtisry192.168.0.725000k8s-*-------k8s集群 1、镜像上传 rootadmin:~# docker push 192.168.0.72:5000/nginx:1.26.1-alpine The push refers to repository [192.168.0.72:5000/nginx] 6961f0b8531c: Pushed 3112cd521249: Pushed d3f50ce9b5b5: Pushed 9efaf2eb…

ABAP:SET CURSOR FIELD设置鼠标焦点

SET CURSOR FIELD <字段名>&#xff1a;设置鼠标焦点到该字段 SET CURSOR 设置到鼠标焦点列还是行 SET CURSOR LINE 设置鼠标焦点到行 GET CURSOR field <字段名> &#xff1a;这个相对应的获取鼠标焦点得到的字段

PHP和Python脚本的性能监测方案

目录 1. 说明 2. PHP脚本性能监测方案 2.1 安装xdebug 2.2 配置xdebug.ini 2.3 命令行与VS Code中使用 - 命令行 - VS Code 2.4 QCacheGrind 浏览 3. Python脚本性能监测方案 3.1 命令行 4. 工具 5.参考 1. 说明 获取我们的脚本程序运行时的指标&#xff0c;对分析…

VS code 远程连接到docker容器

1.需要在vscode中下载remote 、docker、dev container插件。 如下图&#xff1a; 有小鲸鱼标志&#xff0c;说明已经成功。 右键可以运行或者停止容器运行

阿里1688 阿里滑块 231滑块 x5sec分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我删…

Spring Validation数据校检

文章目录 Spring Validation1 关于Spring Validation2 使用流程3 快速入门4 运行异常处理4.1 说明4.2 处理异常4.3 明确提示消息 5 常用注解5.1 NotNull注解5.2 NotEmpty 注解5.3 NotBlank 注解5.4 Size 注解5.5 Range 注解 6 非POJO参数校验6.1 使用流程6.2 使用示例 Spring V…

‌STAR法则

一&#xff1a;STAR法则 STAR法则是一种简单而实用的表现技巧&#xff0c;常被用于求职过程中的个人经历描述&#xff0c;富有条理性&#xff0c;可以帮助你在职场中脱颖而出。“STAR”分别对应的是situation-task-action-result&#xff0c;通过情境、目标、行动和结果四个方面…

uniapp—android原生插件开发(1环境准备)

本篇文章从实战角度出发&#xff0c;将UniApp集成新大陆PDA设备RFID的全过程分为四部曲&#xff0c;涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程&#xff0c;轻松应对安卓原生插件开发与打包需求&#xff01; 项目背景&#xff1a; UniApp集成新大陆P…

国标GB28181设备管理软件EasyGBS国标GB28181视频平台:GB/T28181中的流类型

在当今的视频监控领域&#xff0c;GB/T28181协议作为中国国家标准委员会发布的重要技术规范&#xff0c;发挥着举足轻重的作用。这一标准不仅为视频监控系统的设备接入、视频流传输、设备控制等功能提供了明确的技术指导&#xff0c;还极大地促进了不同厂家设备之间的兼容性和互…