如何从公网访问本地的Web?

本文介绍了如何通过holer软件,让公网能够访问到本地搭建的Web服务端。首先,确保安装Java 1.7以上版本和启动Web服务。接着,下载holer客户端,配置access key,启动服务。最后,通过访问映射后的公网地址,即可实现远程访问。在遇到问题时,可查阅holer日志或联系技术支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本地搭建了一个Web服务端,只能在局域网内访问,怎样从公网也能访问到本地的Web服务端呢?本文将介绍具体的实现步骤。

1. 准备工作

1.1 安装Java 1.7及以上版本

执行命令java -version检查Java安装和配置是否正确。

1.2 安装并启动Web服务端

默认安装的Web服务端口是80

2. 实现步骤

2.1 下载并解压holer软件包

Holer软件包:holer-client.zip

2.2 修改holer配置文件

holer官网上申请专属的holer access key或者使用开源社区上公开的access key信息
例如申请得到的holer信息如下,这里以此holer信息为例:

---------------------------------------------
Holer Client : holerdemo@gmail.com
Access Key : 6688daebe02846t88s166733595eee5d
---------------------------------------------
Domain Name : holer65004.wdom.net
Internet Address : holer.org:650
<think>我们正在讨论如何测试端口映射后的公网访问是否成功。根据引用[1][2][3][4],端口映射设置后,需要验证公网访问是否正常工作。以下是测试步骤: 1. **确认公网IP地址**:首先,你需要知道你的公网IP地址。可以通过访问如`ip138.com`或`whatismyip.com`等网站获取当前网络的公网IP地址。注意:如果你使用的是动态公网IP,这个地址可能会变化;如果使用DDNS(动态域名解析),则可以通过域名访问。 2. **准备测试服务**:确保内网服务本身在局域网内可以正常访问。例如,如果你映射的是内网的Web服务器(端口80),那么先在局域网内通过内网IP和端口访问(如`http://192.168.1.100:80`),确保服务正常运行。 3. **从公网进行访问测试**: - 使用另一台不在同一局域网内的设备(如手机使用移动数据网络,或朋友家的电脑),在浏览器或客户端中输入: - 如果映射的是HTTP/HTTPS服务:`http(s)://公网IP:映射端口` 或 `http(s)://域名:映射端口`(如果配置了域名)。 - 如果是其他TCP/UDP服务(如远程桌面、FTP),使用对应的客户端软件(如远程桌面连接、FileZilla)连接公网IP和映射端口。 - 注意:如果映射的是非80/443端口,访问时必须在URL中显式指定端口号(如`http://123.123.123.123:8080`)。 4. **使用在线端口检测工具**:如果无法使用另一台设备,可以使用在线端口扫描工具(如`portchecktool.com`)检测公网端口是否开放。输入映射的端口号,工具会尝试连接并返回结果(开放或关闭)。 5. **常见问题排查**(参考引用[1]): - **防火墙设置**:检查内网设备的防火墙是否允许外部访问该端口(可能需要添加入站规则)。 - **路由器配置**:确认路由器上的端口映射(端口转发)规则正确(内网IP、端口、协议TCP/UDP)。 - **服务绑定**:确保内网服务绑定到所有网络接口(如`0.0.0.0`),而不是只绑定`127.0.0.1`(本地回环)。 - **动态公网IP变化**:如果公网IP变化,需使用DDNS服务绑定域名。 - **ISP限制**:某些ISP可能会封锁常用端口(如80、443),此时需改用其他端口(如8080、8443)。 6. **使用工具辅助测试**(如引用[2][3][4]提到的nat123): - 如果使用内网穿透工具(如nat123),客户端通常会提供“连接状态”或“日志”功能,可以查看映射是否成功。 - 在nat123客户端中,映射状态显示为“正常”通常表示映射成功,此时可通过其提供的域名(如`xxx.nat123.net`)直接访问。 7. **测试命令**: - **Telnet测试**:在公网设备上使用`telnet 公网IP 端口`(如`telnet 123.123.123.123 8080`),如果连接成功(出现空白或服务欢迎信息),则端口映射正常。如果提示连接失败,则有问题。 - **Curl测试**(HTTP服务):`curl -v http://公网IP:端口`,查看返回的HTTP状态码和内容。 如果以上测试均失败,请参考引用[1]的5个排查步骤(检查公网IP、端口映射规则、内网服务、防火墙、ISP限制)进行详细排查[^1]。 ### 总结测试流程: 1. 内网测试服务正常 → 2. 获取公网IP → 3. 从公网设备或工具访问 → 4. 根据结果排查问题。 §§相关问题§§ 1. 如何检查内网端口是否被占用? 2. 端口映射后如何测试公网访问是否成功? 3. 有哪些常见服务端口需要避免映射以提高安全性?</think>### 如何测试端口映射后的公网访问是否成功 以下是验证端口映射配置是否生效的完整测试流程,结合引用内容中的关键点进行说明: #### 📌 测试前准备 1. **确认内网服务正常** - 在局域网内通过内网IP+端口访问服务(如 `http://192.168.1.100:8080`),确保服务本身正常运行[^1]。 - 检查内网防火墙是否允许该端口的本地访问。 2. **确认映射配置正确** - 核对路由器或映射工具(如nat123)中的配置: - 内网IP地址 → 服务主机IP - 内网端口 → 服务端口(如8080) - 外网端口 → 映射后的公网端口(如50000) - 协议类型 → TCP/UDP(根据服务选择)[^4] #### 🔍 测试方法(分场景操作) ##### 场景1:有公网IP时(直接测试) 1. **获取公网IP** - 访问 [ip138.com](https://www.ip138.com) 或直接搜索"What is my IP"获取当前公网IP。 2. **公网访问测试** - **浏览器测试(Web服务)** 在外部网络(如手机4G)输入:`http://公网IP:外网端口` ✅ 成功:显示内网服务内容 ❌ 失败:显示连接超时/拒绝访问 - **命令行工具测试** ```bash # TCP服务测试(如SSH、数据库) telnet 公网IP 外网端口 # 或 nc -zv 公网IP 外网端口 # HTTP服务测试 curl -I http://公网IP:外网端口 ``` ✅ 成功:显示 `Connected` 或返回HTTP状态码(如200) ❌ 失败:显示 `Connection refused`/`Timeout` ##### 场景2:无公网IP时(需穿透工具) 1. **使用映射工具验证** - 如使用nat123: - 登录客户端查看映射状态 → 显示"正常"表示穿透成功[^2] - 通过工具提供的域名访问:`http://xxx.nat123.net:外网端口`[^3] 2. **第三方端口检测工具** - 访问 [portchecktool.com](https://www.portchecktool.com) 输入映射的外网端口号检测开放状态: ✅ 成功:显示 "Port X is OPEN" ❌ 失败:显示 "Port X is CLOSED" #### ⚠️ 常见失败原因排查(引用[1]重点) 1. **防火墙拦截** - 检查路由器防火墙 → 关闭或添加放行规则 - 检查主机防火墙(Windows防火墙/iptables)→ 允许端口入站 2. **ISP限制** - 部分运营商封锁80/443等端口 → 改用高位端口(如50000-60000)[^1] 3. **配置错误** - 内网IP变更导致映射失效 → 设置设备静态IP - 协议类型不匹配 → 确认服务用TCP/UDP 4. **工具状态异常** - nat123等工具需保持在线 → 检查客户端运行状态[^4] > **测试成功标志**:当外部网络通过 **`公网IP:端口` 或穿透域名** 能访问到与内网相同的内容时,即表示端口映射完全生效[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值