服务器部署的 node 服务,为什么 postman 请求不了

2024-08-06 15:59:14 +08:00
 liugezhou

遇到一个非常诡异的问题,还请各位大佬指点

在阿里云服务器上用 pm2 部署了一个 node 项目。 本地的一个 vue 代码直接去访问这个 api.xxx.xxxx 的接口可以正常访问通。

但是用 postman 去访问这个接口的时候,访问不通,postman 页面:Could not get response

这是什么原因,有遇到过相同问题的吗?

2866 次点击
所在节点    Node.js
23 条回复
FaustY
2024-08-06 16:35:51 +08:00
条件太少了,可能代理问题、或者 postman 请求拼的不对吧
FaustY
2024-08-06 16:37:06 +08:00
可以用 postman 你有问题的请求,生成一个 fetch 的代码,去你 Vue 的页面下执行一下,看看是不是报错,报错了大概率 postman 请求拼的不对。
Dolov
2024-08-06 16:43:26 +08:00
有没有可能是 vue 项目,中配置的 proxy 把请求路径转化了
liugezhou
2024-08-06 17:14:23 +08:00
@Dolov 还是很诡异,浏览器直接输入 api.xxxx 这个接口地址是有返回的,本地项目也可以直接访问,就是在 postman 中就没有响应,我的 ngxin 配置和 ssl 配置都是新的,难道是因为 ssl 原因吗
liugezhou
2024-08-06 17:32:18 +08:00
@FaustY 请求都对,就是没有反应,还没找到是什么原因。。
liugezhou
2024-08-06 17:54:35 +08:00
我用 apifox 去访问这个接口也是可以通的,就 postman 不可以。。。
catinsides
2024-08-06 18:00:28 +08:00
都转成 curl 命令对比一下
airycanon
2024-08-06 18:30:41 +08:00
Postman 有没有关闭 SSL certificate verification ?
liugezhou
2024-08-06 18:38:55 +08:00
@airycanon 关闭了的
liugezhou
2024-08-06 18:41:53 +08:00
@catinsides 用 curl 在服务器上执行返回是正确的,本地命令后执行,
curl -v POST https://api.xxx/login \
-H "Content-Type: application/json" \
-d '{"username":"test", "password":"test"}'

直接返回了这个错误
* Could not resolve host: POST
* Closing connection
curl: (6) Could not resolve host: POST
* Host api.yxdjjz.cn:443 was resolved.
* IPv6: (none)
* IPv4: 47.95.68.15
* Trying 47.95.68.15:443...
* Connected to api.yxdjjz.cn (47.95.68.15) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/cert.pem
* CApath: none
* Recv failure: Connection reset by peer
* LibreSSL/3.3.6: error:02FFF036:system library:func(4095):Connection reset by peer
* Closing connection
curl: (35) Recv failure: Connection reset by peer
liugezhou
2024-08-06 18:43:04 +08:00
@catinsides 本地浏览器和本地项目都是可行的,curl 本地命令后就出现这个问题了
liugezhou
2024-08-06 18:59:55 +08:00
突然想到,ssl 证书是申请的个人免费版本,难道跟这个有关系?
siweipancc
2024-08-06 19:12:08 +08:00
更新下客户端证书
liugezhou
2024-08-06 19:23:17 +08:00
@siweipancc postman 里面添加个人证书吗?直接是关闭证书校验了,我觉得是我配置的有问题,但是又能访问,,,
ik
2024-08-06 19:46:39 +08:00
@liugezhou #10
curl -v -x POST ....
ik
2024-08-06 19:48:01 +08:00
POST 这个参数删掉应该也成
amlee
2024-08-06 21:07:24 +08:00
curl -v -k -X POST https://api.xxx/login \
-H "Content-Type: application/json" \
-d '{"username":"test", "password":"test"}'
siweipancc
2024-08-06 21:24:48 +08:00
你用北京阿里云没做备案? powershell7 执行下代码可以更直观看到原因
`Invoke-WebRequest -Method GET -Uri http://api.yxdjjz.cn/login -SkipHttpErrorCheck -OutFile res.html && Invoke-Item res.html`
liugezhou
2024-08-07 09:30:07 +08:00
@siweipancc 好像就是因为域名没备案的原因 感谢感谢🙏
githmb
2024-08-07 16:24:03 +08:00
以为是 Bug ,结果是天朝的 Feature (

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062964

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX