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

embedded/2024/11/8 21:49:42/

相关技术

要实现“内网部署,外网访问”,可以使用内网穿透、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.ppmy.cn/embedded/135997.html

相关文章

面相小白的php反序列化漏洞原理剖析

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文整理反序列化漏洞的一些成因原理 建议学习反序列化之前 先对php基础语法与面向对象有个大体的了解 (我觉得我整理的比较细致&#xff0c;了解这俩是个啥就行) 漏洞实战情况 这个漏洞黑盒几乎不会被发现&am…

正则表达式 - 简介

正则表达式 - 简介 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是一种用于处理字符串的强大工具&#xff0c;它允许用户通过特定的模式&#xff08;pattern&#xff09;来搜索、匹配、查找和替换文本中的数据。正则表达式广泛应用于文本编辑器…

在PHP中使用UTF-8编码防止乱码需要注意以下几点‌:

在PHP中使用UTF-8编码防止乱码需要注意以下几点‌&#xff1a; ‌设置PHP文档编码为UTF-8‌&#xff1a;在PHP代码的最开始使用header()函数设置文档的编码为UTF-8。例如&#xff1a;header("Content-Type: text/html; charsetutf-8");‌12。 ‌确保文件编码为UTF-8…

Docker 基础命令简介

目录 Docker 基础命令 1. Docker 版本信息 2. 获取 Docker 帮助 3. 列出所有运行中的容器 4. 运行一个新的容器 5. 查看容器日志 6. 停止容器 7. 启动已停止的容器 8. 删除容器 9. 列出所有镜像 10. 拉取镜像 11. 构建镜像 12. 删除镜像 13. 执行命令 14. 查看容…

Dubbo负载均衡

负载均衡策略与配置细节 Dubbo 内置了 client-based 负载均衡机制&#xff0c;如下是当前支持的负载均衡算法&#xff0c;结合上文提到的自动服务发现机制&#xff0c;消费端会自动使用 Weighted Random LoadBalance 加权随机负载均衡策略 选址调用。 如果要调整负载均衡算法…

wx.openSetting未调起小程序设置界面的坑

一、遇到的问题 调用wx.openSetting未调起小程序设置界面 二、最终使用的方案 解决后有一个问题,小程序设置页面同意授权后,快速返回页面点击开始录制按钮,小程序设置未生效期间,按钮无法点击;这种延迟暂时忽略吧 <view class="cm2 f1s n" bind:tap=&quo…

Python与Excel交互:pandas库安装及基本用法

在之前的文章中&#xff0c;我们探讨了Python处理Excel文件的基本概念&#xff0c;如工作簿、工作表以及单元格等。现在我们将转向具体的工具介绍——pandas库&#xff0c;它是Python中最常用的数据分析库之一&#xff0c;能够非常便捷地读取、处理和写入Excel文件。 安装pand…

计算机视觉和深度学习有什么区别

计算机视觉和深度学习是两个紧密相连但又有所区别的领域。以下是对这两个领域的详细比较&#xff1a; 定义与范畴计算机视觉&#xff1a;是人工智能的一个分支&#xff0c;涉及使用计算机及相关设备对生物视觉进行模拟的一种技术。它主要关注对图像和视频数据的理解和分析&…