V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  atpking  ›  全部回复第 3 页 / 共 13 页
回复总数  248
1  2  3  4  5  6  7  8  9  10 ... 13  
@Rache1 嗯嗯 我们也有类似的 RequestID 的机制

其实我们这个工具还有一点就是 所谓的 不求人

很多时候, 直接自己就搞定, 我们前端发现请求 500 了之后, 直接就生成了一个分享链接扔给后端, 让后端自己玩去, 前端自己就通过 nuapi 直接 mock 接口的返回, 返回正确的结果就好了。

后端拿到分享的连接, 知道了前端传了啥 自己返回了啥, 等自己修复好了问题, 并重新上到测试环境后, 也不需要通知前端进行回归, 自己点击分享里的 重试按钮 nuapi 会自动的将之前的请求重新发送, 并将接口的返回展示给后端。如果不符合预期, 后端继续修改, 直到返回符合预期

这样就可以解决一个非常尴尬的问题:

后端吭哧吭哧的 修好了 bug , 喊 app 端去试,app 端从 app 里进几个页面好不容易到了之前的 bug 点, 提交信息, 结果程序又返回 500 。此时 app 端是要骂娘的。

这个时候如果后端在分享的页面中点击重试请求, 是非常容易发现接口 500 的, 同时我们的重试并不是一股脑的啥都不能改, 而是 只是将之前的请求复制过来, 同时还可以编辑, 编辑完毕后再发送 这样后端还可以轻易的测测其他的情况是否都符合预期。

对接口这种事情, 特别容易引起矛盾, 有了 nuapi 的保障, 会让大家都觉得对方是个技术上靠谱的人
@hronro 您可以参看下 7 楼我的回复

关于“还有怎么保证这个第三方服务不会抓取数据做一些非法的事情呢?”

我们深知 我们保证 “我们不会在未经授权的情况下分享出数据” 在国内没有太大的意义

所以现阶段, 我们建议的建议是

"在开发, 测试阶段, 使用我们的域名转发",

当产品进入生产环境时, 您可以将域名替换为正式 API 服务器域名,或者做一个开关, 在仅主动需要开启的时候再打开开关。

因为本身我们只是在域名上做一次修改, 对整体的程序没有其他的影响, 所以摘除掉 nuapi 是一件 0 风险的事情
另外我们的系统是基于 k8s 部署的(血泪史), 如果您希望更彻底安全的使用的话, 我们乐于提供私有部署版本。

另外我们也在研究将转发与日志交由用户提供的服务器来进行操作,nuapi 本身只存储 id 值, 这样 nuapi 就只知道请求的 id , 而不知道具体的内容了, 就可以做到安全又健康了
@Rache1

Cool ! 看起来像是把日志里呈现的东西都展示出来了, 好像是基于 Laravel 本身的吧, 应该是通过在 php 服务器中插入啥实现的,功能很强大, 我看还有 queries ,cache 啥的统计。rails 好像也有类似的 gem , 在管理端可以看到类似的信息。


我们这个 nuapi 做的是通用版本, 不依赖 具体的语言, 仅依赖域名。 等到用户需要上生产环境的时候, 将域名替换回来就好

更好的方式是 做一个开关, 可以切换域名, 这样哪怕是生产环境中,需要临时接入 nuapi 查看 bug 也可以打开开关切换 调试完毕后, 再切回原来的 API 域名
@wolfie 😄 老哥, 我是后端出生


之前我们一直都是让 前端导出 curl 的,只不过 curl 也有一些问题, 我这总结下:

1. app 端似乎不太方便导出 curl
2. curl 只保存了 请求的 body , 和 path , 并未记录当时的 Response 信息, 有时候调试并不是那么及时(特别是 remote 的时候),之后现场丢失了不太适合
3. curl 导出的内容通常会有很大一串, 不太好一点一点的分析, 比如具体传了哪些 headers ,cookie 都有啥,会稍微乱一点
4. 也是我觉得最重要的部分:curl 不能做对比功能。 一般后端会用 postman 先验证一次, 前端在 app 端或者 web 端再发送的时候, nuapi 可以挑出两个请求, 之后逐次的对比, 这样可以立即发现传输的有啥不同。

举个例子

登录接口, 后端接口 是

```json
{"userName": "atpking", "password": "123456"}
```

前端传的是

```json
{"userName": "atpking", "passWord": "123456"}

```

不注意的话, 很难发现其中参数的问题

但是您看如果是这张图, 就非常容易知道问题出在哪里了

![请求对比]( https://image.nuapi.com/20220328164404.png)
@monmon 是的 就像之前我评论的 其实市面上的透传工具 非常多,做的也都很好

如果老哥是想使用稳定的长期的内网穿透, 确实这类需要下载软件的内网穿透工具应该会比较适合,透传效率也会比较高。

NUAPI 的端口转发也有自己的优势:

www.nuapi.com 端口转发的特点是: “ 无需安装任何软件, 直接就通过 SSH , 即可以实现透传,同时简化了 SSH 授权, 仅用授权码即可完成 ssh 鉴权”。 这是我们与其他透传工具的差异化竞争点吧

说白了, 就是 哪怕你是小白, 或者不想安装任何软件,就想简单的作个内网穿透, 那么,直接进 nuapi , 拷贝好我们已经生成的指令(指令后注释着授权码), 粘贴到 terminal 执行, 输入授权码, 就可以实现对端口的透传,整个过程不会超过 5 秒。
@auh

老哥, 这个其实我们后面打算慢慢向 apigee 方向上靠, 做 API 的包装。

规范啥的都挺好的,写强校验, 靠规定啥的确实可以从本质上杜绝这些问题,只是确实太麻烦了,一旦麻烦, 人就想偷懒

NUAPI 的目标是提供简单的工具, 尽量做到简单易用,不用很麻烦, 用几分钟就能解决战斗。


另外我们 NUAPI 这个在 remote 开发中,nuapi 的 request 分享有着意想不到的好用,包括我们自己开发 nuapi , 就是用的 nuapi 自己的域名转发来进行调试的, 在遇到 500 后,里面的重试, 对后端非常友好, 完全可以脱离前端就能重放 500 请求本身, 非常利于找到具体的问题。
@TellMeWHY

嗯嗯 其实 ssh 端口转发只是其中一块很小的功能 我们做的大功能实际是 域名转发 这个主要是为了方便前后端调试的 感兴趣的话 可以看看这个视频 https://www.bilibili.com/video/BV1fY4y1s79e/
@TellMeWHY

多谢提醒, 端口转发那块以后可能会做成对流量的限制 再就是访问地址超过一定区域后, 会自动断线。

其实端口转发只是我们很小的一个功能, 我们主推的是域名转发 有兴趣的话可以看看 www.nuapi.com 帮助中心的内容哟
@xcsoft 或者帮助中心里有个群 您这边可以加一下 我们工程师再看一下
@xcsoft 属于 按照道理应该 ok 不知道是否可以透露下你的 nuapi 分配的域名是什么 我来检查一下
@lcf8381595 是的 是公司级的产品
@skull 是的 其实穿透类的项目非常多 最出名的是 ngrok 和 frp ,
包括 zoro 在内的项目, 其实他们的定位都是 建立一个长期的内网穿透, 都需要在 server 端(公网的 server )和 client 端(内网的 server )安装个软件, 并且安装完毕了之后再经历比较麻烦的配置过程(比如 frp , 两边都要写配置文件, 初次接触的时候还是费点功夫的)。

我们发现的问题是: 其实在大多数情况下, 我们只是临时用一下,并不想在机器上安装各种各样的穿透软件。另外使用之后, 我还得记得去关闭这个内网穿透的服务。实际上经常会出现用完了但是忘记关了, 穿透就一直存在着。我们自己经历的一次事故就是因为忘记关穿透了,之后端口被扫出来了, 又因为是穿透的开发环境, 实际权限很高, 带来了很大的风险。



www.nuapi.com 的端口转发的特点是其实就是简单, 迅速

1. 不安装任何额外的软件, 就系统自带的 ssh 即可。 又因为 ssh 是一个非常成熟的协议,可靠性还是得到了不错的保证。

2. 授权十分简单,输入 6 位临时授权码即可。 我们自研了一套 ssh 鉴权方式, 通过简单的 授权码, 即可连接上 NUAPI 的 ssh 端口转发。

3. 自带 https 证书, 自带域名,标准 80 443 端口, 避免在某些 callback 的时候, 因为政策要求 是域名, 指定使用 80 443 端口啥的。

4. 会自动断线。 我们设计了 20 分钟后自动断线的功能, 防止大哥们忘记关穿透带来额外的系统风险。


当然使用 ssh 进行端口转发也有一定的缺点: 就是他不会进行连接复用, 所有请求都是线性的通过 ssh 进行转发,论转发效率上,实际上是低于 frp 等软件的。只不过如果是只是用在调试上, 则这点是没有太大问题的。
@xcsoft
域名转发那 我们针对的场景是转发 api 服务器(访问内容返回 json 或 xml ), 之后可以看到发送和接受到的数据。 解决类似这样的场景 https://support.qq.com/products/364823/blog/570535

因为流量的问题, 目前暂不支持非文本化的内容的返回。
@narmgalaxy 是的 端口转发 跟 ngrok 一样, 只不过 ngrok 需要装软件, 我们这个只是依赖 ssh 进行的端口转发, 之后我们搞了一套授权码来鉴权,就不需要来搞证书啥的了

此外 端口转发 只是 www.nuapi.com 的一个功能, 其实更重要的功能是 域名转发 调试, 这个对 app 开发特别好用
@zhangneww 系啊系啊 这个是用给调试用的 免费档就是 一天 2 小时 每次至多 20 分钟

以后会推出点数付费
@AX5N 是的 NUAPI 在穿透功能上是提供调试为目的的

其实 NUAPI 更主要的功能是 域名转发, 做网络调试用, 这个后面看有没有机会好好介绍一下
@zhangneww free 是的 需要手机号
2022-02-07 12:15:28 +08:00
回复了 Tianao 创建的主题 全球工单系统 [充电头网]证书过期啦
每当这个时候, 我都会推荐下 sslguala.com 他可以在证书即将过期之前发送各类通知给网站管理员
2022-01-11 18:15:09 +08:00
回复了 pdog18 创建的主题 Apple macOS 默认拼音输入法令我崩溃,垃圾 macOS
用过智能 ABC 的人已经对现代输入法很满意了
当时觉得紫光输入法简直是神一般的存在
额 输入法 不要选择那个 根据内容自动切换输入法
1  2  3  4  5  6  7  8  9  10 ... 13  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4006 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 05:29 · PVG 13:29 · LAX 22:29 · JFK 01:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.