1.简介
当今部署的中间件大多都是在C/S架构上设计的,其中相对隐匿的客户机主动向周知的服务端(拥有静态IP地址和DNS名称)发起链接请求。大多数中间件实现了一种非对称的通讯模型,即内网中的主机可以初始化对外的链接,而外网的主机却不能初始化对内网的链接,除非经过中间件管理员特殊配置。在中间件为常见的NAPT的情况下(也是本文主要讨论的),内网中的客户端没有单独的公网IP地址,而是通过NAPT转换,和其他同一内网用户共享一个公网IP。这种内网主机隐藏在中间件后的不可访问性对于一些客户端
软件如浏览器来说并不是一个问题,因为其只需要初始化对外的链接,从某方面来看反而还对隐私保护有好处。
...
我们经常会遇到一个问题,如何将本机的服务暴露到公网上,让别人也可以访问。我们知道,在家上网的时候我们有一个 IP 地址,但是这个 IP 地址并不是一个公网的 IP 地址,别人无法通过一个 IP 地址访问到你的服务,所以在例如:微信接口调试、三方对接的时候,你必须将你的服务部署到一个公网的系统中去,这样太累了。
这个时候,内网穿透就出现了,它的作用就是即使你在家的服务,也能被其人访问到。
今天让我们来用一个最简单的案例学习一下如何用 go 来做一个最简单的内网穿透工具。
整体结构
首先我们用几张图来说明一下我们是如何实现的,说清楚之后再来用代码实现一下。
当前网络情况
我们可以看到,画实 ...
知识
2025-02-07
9774
883
首先还是我们需要一个http服务器,这个http服务器是我们的内网的服务器,也就是说我们需要在外网访问到这个位于内网的http服务器。假设我们内网的ip是127.0.0.1,分配的局域网ip是192.168.1.10,然后http端口是8080
那么显而易见,我们在同一内网环境是可以访问的,直接使用192.168.1.10:8000即可访问到服务器
但是如果不在同一局域网的机器就不行了,需要借助一台公网ip的服务器来做一个透传代理。
内网服务器准备
这里假设你已经安装python2或者python3,打开我们的mac终端或者windows cmd 在python2下输入python - ...
知识
2025-02-07
9588
892
物联网(IoT)技术的发展,离不开多种通信协议的支持。这些协议在数据传输、设备连接和管理等方面起到了至关重要的作用。本文将介绍和对比8种常见的物联网协议,帮助理解它们的特点及适用场景。
MQTT(Message Queuing Telemetry Transport)
概述
MQTT是一种轻量级的消息传输协议,设计用于低带宽和不稳定网络环境下的设备通信。
特点
轻量级:协议头部非常小,适合资源受限的设备。
发布/订阅模型:支持松耦合的消息通信方式。
QoS(服务质量) :提供三种服务质量等级(0, 1, 2)。
应用场景
适用于物联网设备的远程监控、传感器数据传输等。
CoAP( ...
知识
2025-02-05
12881
547
使用变量;
sass让人们受益的一个重要特性就是它为css引入了变量。你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值。或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途。
sass使用$符号来标识变量(老版本的sass使用!来标识变量。改成$是多半因为!highlight-color看起来太丑了。),比如$highlight-color和$sidebar-width。为什么选择$ 符号呢?因为它好认、更具美感,且在CSS中并无他用,不会导致与现存或未来的css语法冲突。
1.1 变量声明 和 ...
知识
2025-02-05
23618
1585