内网部署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.mzph.cn/diannao/59928.shtml

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

相关文章

从零开始训练一个大语言模型需要多少天?

一&#xff0c;前言 在AI领域&#xff0c;训练一个大型语言模型&#xff08;LLM&#xff09;是一个耗时且复杂的过程。几乎每个做大型语言模型&#xff08;LLM&#xff09;训练的人都会被问到&#xff1a;“从零开始&#xff0c;训练大语言模型需要多久和花多少钱&#xff1f;”…

Halcon resistor.hedv 使用多个对焦级别提取深度

depth_from_focus * Extract depth using multiple focus levels * 使用多个对焦级别提取深度 Names : [] * 初始化一个空数组&#xff0c;用于存储图像名称 dev_close_window () * 关闭当前打开的图像窗口 for i : 1 to 10 by 1 * 循环开始&#xff0c;从1到10 …

C语言 | Leetcode C语言题解之第546题移除盒子

题目&#xff1a; 题解&#xff1a; int dp[100][100][100];int calculatePoints(int* boxes, int l, int r, int k) {if (l > r) {return 0;}if (dp[l][r][k] 0) {int r1 r, k1 k;while (r1 > l && boxes[r1] boxes[r1 - 1]) {r1--;k1;}dp[l][r][k] calcu…

玩的花,云产品也能拼团了!!!

说起拼单大家都不陌生&#xff0c;电商一贯的营销手段&#xff0c;不过确实可以给消费者省下一笔钱。双11到了&#xff0c;腾讯云产品也玩起了拼团&#xff0c;这明显是对开发人员和各企业的福利。 对于有云产品需求的个人或企业&#xff0c;这次绝对是难得的一次薅羊毛机会。…

win10@win10 配置openssh服务

1.下载离线包&#xff1a;https://github.com/PowerShell/Win32-OpenSSH/releases 2.然后管理员打开powershell&#xff0c;cd到这个安装包放置的目录中来&#xff0c;输入以下命令&#xff1a;powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1 此时要注意pow…

全面解析:网络协议及其应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 # 全面解析&#xff1a;网络协议及其应用 文章目录 网络协议概述定义发展历程主要优势 主要网络协议应用层协议传输层协议网络层…

webWorker基本用法

我们都知道js是一个单线程的语言&#xff0c;当线程堵塞时&#xff0c;可能会导致页面无法正常交互&#xff0c;如一些复杂的可视化处理。即使是异步处理&#xff0c;也只是将其暂存到任务队列中去&#xff0c;等主线程执行完后依然会从任务队列中取过去。 为此&#xff0c;js提…

【1】虚拟机安装

1.安装VMware WorkStation Pro VMware下载地址&#xff1a; 2.新建虚拟机 centos7下载地址&#xff1a;centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云

2-149 基于matlab的LDPC译码性能分析

基于matlab的LDPC译码性能分析&#xff0c;LDPC&#xff08;Low-Density Parity-Check&#xff09;码作为编码技术&#xff0c;具有优秀的纠错性能和较低的编解码复杂度。为保证可靠的数据传输&#xff0c;对传输过程中可能出现的信道噪声、干扰等进行模拟和分析。分析对比了误…

游戏开发--C#面试题

游戏开发--C#面试题 C#1. 值类型和引用类型的区别2. 重载和重写的区别3. ArrayList和List的区别4. List底层是什么实现的&#xff1f;5. 抽象类和接口的区别6. 静态成员和⾮静态成员的区别7. 装箱和拆箱是指什么&#xff1f;8. 值和引用类型在变量赋值时的区别是什么&#xff1…

DAY23|回溯算法Part02|LeetCode: 39. 组合总和 、40.组合总和II 、131.分割回文串

目录 LeetCode: 39. 组合总和 基本思路 C代码 LeetCode: 40.组合总和II 基本思路 C代码 LeetCode: 131.分割回文串 基本思路 C代码 LeetCode: 39. 组合总和 力扣代码链接 文字讲解&#xff1a;LeetCode: 39. 组合总和 视频讲解&#xff1a;带你学透回溯算法-组合总和…

【linux】再谈网络基础(二)

8. 再谈端口号 &#xff08;一&#xff09;与协议之间的关系 端口号(Port)标识了一个主机上进行通信的不同的应用程序 在TCP/IP协议中, 用 "源IP", "源端口号", "目的IP", "目的端口号", "协议号" 这样一个五元组来标识…

OpenCV视觉分析之目标跟踪(12)找到局部的最大值函数meanShift()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在反向投影图像上找到一个对象。 meanShift 是一种用于图像处理和计算机视觉领域的算法&#xff0c;特别适用于目标跟踪、图像分割等任务。该算…

VS2022配置OpenGL

下载地址&#xff1a; https://download.csdn.net/download/hgaohr1021/89974202 1、下载后&#xff0c;直接把OpenGL文件&#xff0c;全部放在 D:\Program Files这里&#xff0c;OpenGL这个名字也不要改&#xff01;&#xff01;&#xff01; 2、把文件PropertySheetOpenGL.p…

革命性AI搜索引擎!ChatGPT最新功能发布,无广告更智能!

文章目录 零、前言一、ChatGPT最新AI搜索引擎功能操作指导实战1:搜索新闻实战2:搜索天气实战3:搜索体育消息 二、感受 零、前言 大人&#xff0c;时代变了。 最强 AI 助力下的无广告搜索引擎终于问世。我们期待已久的这一刻终于到来了&#xff0c;从今天起&#xff0c;ChatGPT…

微积分复习笔记 Calculus Volume 1 - 4.10 Antiderivatives

4.10 Antiderivatives - Calculus Volume 1 | OpenStax

O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈

O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈 O-RAN Fronthual CU/Sync/Mgmt 平面和协议栈O-RAN前端O-RAN 前传平面C-Plane&#xff08;控制平面&#xff09;&#xff1a;控制平面消息定义数据传输、波束形成等所需的调度、协调。U-Plane&#xff08;用户平面&#xff09;&#…

PADS操作技巧

CTRL左键单击&#xff1a;结束布线 过孔&#xff1a;信号换层、散热 F2布线&#xff0c;然后右键添加过孔。 切换过孔大小

给初学者的 Jupyter Notebook 教程

目录 一、什么是Jupyter Notebook&#xff1f; 1. 简介 2. 组成部分 ① 网页应用 ② 文档 3. Jupyter Notebook的主要特点 二、安装Jupyter Notebook 0. 先试用&#xff0c;再决定 1. 安装 ① 安装前提 ② 使用Anaconda安装 ③ 使用pip命令安装 三、运行Jupyter No…

window下安装rust 及 vscode配置

安装 安装mingw64 &#xff08;c语言环境 选择posix-ucrt&#xff09; ucrt:通用c运行时库配置mingw64/bin的路径到环境变量中在cmd窗口中输入命令 "gcc -v" 4. 下载Rust安装程序 安装 Rust - Rust 程序设计语言 5. 配置rustup和cargo目录 &#xff08;cargo是包管…