通过自定义域名访问内网的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硬件方式,或纯软件方式的虚拟组网工具,都可以实现不同内网间的连接访问,但这些组网方法需要在访问端也要安装使用,这里就不再多余言了,有需要可以自行网上搜索相关教程。

相关推荐
奔跑草-34 分钟前
【服务器】Apache Superset功能、部署与体验
运维·服务器·apache·powerbi·superset
羊锦磊1 小时前
[ Servlet 服务器]
运维·服务器·servlet
tb_first2 小时前
k8sday13数据存储(1.5/2)
linux·运维·服务器·云原生·容器·kubernetes
出海探索的Cindy2 小时前
什么是IP隔离?一文讲清跨境电商/海外社媒的IP隔离逻辑
网络·网络协议·tcp/ip
小红帽2.03 小时前
从ioutil到os:Golang在线客服聊天系统文件读取的迁移实践
服务器·开发语言·golang
wanhengidc4 小时前
造成云手机闪退的原因有哪些?
服务器·网络·安全·智能手机·媒体
叔叔别拉了我害怕7 小时前
封装FTPSClient连接ftps服务器
服务器·git·github
不甘懦弱7 小时前
阿里云搭建flask服务器
服务器·python·flask
the sun347 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++