通过自定义域名访问内网的web服务和tcp应用:内网ip到局域网外域名访问过程

内网IP并不是唯一的,不同内网环境下的内网IP都不能直接互通。当我们在本地内网搭建部署服务器后,往往面对无公网IP使用的情况,而如何将内网IP端口提供给局域网外使用,成为了一个关键。

比如公司内网web服务办公OA系统需要给外地登录使用,又如自己家里网络环境下旧电脑弄了个NAS系统想要在外访问,等等,这些都是需要想法将内网IP变成互联网上能用的域名。如果自己有注册域名的,则用自己域名;如果自己没有域名的,则需要用到三方提供的二级域名。

内网IP到局域网外域名访问,在不增加硬件,不拉专线的情况下,可以采用内网穿透技术应用或网络端口映射软件来实现。这里分享3种常用的内网IP端口绑定自定义域名到公网使用的方法。

一、使用FRP内网IP变域名访问(简单配置实现)

以WEB服务场景为示例,通过简单配置 HTTP 类型的代理,您可以让用户通过自定义域名访问内网的 Web 服务。

HTTP 类型的代理非常适合将内网的 Web 服务通过自定义域名提供给外部用户。相比于 TCP 类型代理,HTTP 代理不仅可以复用端口,还提供了基于 HTTP 协议的许多功能。

HTTPS 与此类似,但是需要注意,frp 的 https 代理需要本地服务是 HTTPS 服务,frps 端不会做 TLS 终止。也可以结合 https2http 插件来实现将本地的 HTTP 服务以 HTTPS 协议暴露出去。

步骤如下:

1、配置 frps.toml

在 frps.toml 文件中添加以下内容,以指定 HTTP 请求的监听端口为 8080:

bindPort = 7000

vhostHTTPPort = 8080

如果需要配置 HTTPS 代理,还需要设置 vhostHTTPSPort。

2、配置 frpc.toml

在 frpc.toml 文件中添加以下内容,确保设置了正确的服务器 IP 地址、本地 Web 服务监听端口和自定义域名:

serverAddr = "x.x.x.x"

serverPort = 7000

\[proxies\]

name = "web"

type = "http"

localPort = 80

customDomains = "yourdomain"

\[proxies\]

name = "web2"

type = "http"

localPort = 8080

customDomains = "yourdomain2"

启动 frps 和 frpc

3、域名解析

www.yourdomain.comwww.yourdomain2.com 的域名 A 记录解析到服务器的 IP 地址 x.x.x.x。如果服务器已经有对应的域名,您还可以将 CNAME 记录解析到原始域名。另外,通过修改 HTTP 请求的 Host 字段也可以实现相同的效果。

4、通过浏览器访问

使用浏览器访问 http://yourdomain:8080 即可访问内网机器上的 80 端口服务,访问 http://yourdomain2:8080 可以访问内网机器上的 8080 端口服务。

二、使用nat123内网映射域名访问(界面化操作)

无公网IP时,使用nat123方案是一种较为大众化的选择,可以直接快速自定义内网IP端口提供公网使用,访问域名端口也是自定义的。同时可以根据应用场景,选择改变端口转发数据方式或同端口点到点直连模式的访问实现。

操作步骤:

1、‌下载安装客户端‌

访问nat123官网下载对应系统版本,默认安装完成。‌‌

2‌、注册与登录‌

首次使用需注册账号,登录后进入主界面。‌‌

注:不同网络环境的应用使用时,需要分别注册使用不同的帐号区分。

3‌、添加映射规则‌

登录客户端后,点击"添加映射",出来新的编辑映射界面,里面填写以下关键信息:

‌映射类型‌:根据应用选择(如80HTTP、443HTTPS、非80网站、全端口映射等)。‌‌

‌内网地址‌:填写服务器本地IP(如127.0.0.1)及端口号。‌‌

‌外网域名‌:使用自动生成的免费域名(可自定义对应二级字符方便记住使用),或绑定自定义自己的域名(需在自己注册域名解析网上配置CNAME解析指向让自己域名生效)。‌‌

‌保存并生效‌。保存后,客户端自动生成映射图标,同时有显示对应的自定义设置好的内外网地址信息,当鼠标停留上面状态提示生效即可。‌‌

4‌、域名访问测试‌

通过外网设备输入映射域名及端口验证服务是否可达。‌‌

三、使用ngrok映射域名访问

‌ngrok使用教程主要包含注册账号、身份认证、隧道配置和域名管理四个核心步骤。‌ 通过安装客户端并执行简单命令即可实现内网IP绑定域名访问,快速将本地服务暴露到公网。‌‌

‌基础配置流程‌:

1‌、注册与下载‌

访问ngrok官网注册账户,支持GitHub或Google快捷登录。‌‌

根据操作系统下载客户端(Windows/Mac/Linux),解压后获取ngrok.exe可执行文件。‌‌

2‌、身份认证‌

在官网仪表盘获取Authtoken,通过命令行执行:

./ngrok authtoken <YOUR_AUTH_TOKEN>

完成账号与本地客户端的绑定‌‌

3‌、启动隧道服务‌

运行命令指定本地端口(以8080为例):

ngrok http 8080

成功启动后,命令行将生成公网访问URL,可通过该链接访问本地服务。‌‌

上面就是分享内网IP简单变成自定义域名访问的几种方法,所有普通个人都可以较为轻松操作的,没有特别复杂的技术要求,也不要公网IP和路由设置,是内网服务开放给公网使用的便捷通用方案。

其实还有其他像VPN硬件方式,或纯软件方式的虚拟组网工具,都可以实现不同内网间的连接访问,但这些组网方法需要在访问端也要安装使用,这里就不再多余言了,有需要可以自行网上搜索相关教程。

相关推荐
BingoGo2 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack2 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户3074596982073 天前
PHP 扩展——从入门到理解
php
鹏仔先生4 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
大树884 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
小宇宙Zz4 天前
Maven依赖冲突
java·服务器·maven
云水一下4 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
treesforest4 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
xingpanvip4 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
古城小栈4 天前
Unix 与 Linux 异同小叙
linux·服务器·unix