Postman 设置代理后为什么还是连不上本地开发接口?

小熙妍 阅读 71

我本地用 Vue 3 + Vite 起了个服务,端口是 5173,后端 API 在另一个本地服务(比如 http://localhost:8080/api)。我想用 Postman 测试这个 API,但公司网络必须走代理才能外网访问。我在 Postman 的 Settings → Proxy 里开了 Global Proxy,填了公司的 HTTP 代理地址和端口,可每次发请求都超时,根本连不上。

奇怪的是,浏览器里直接访问 http://localhost:8080/api 是通的,说明后端没问题。是不是 Postman 的代理设置对 localhost 不生效?或者我漏了什么配置?下面是我前端调用接口的简化代码:

<script setup>
import { onMounted } from 'vue';
onMounted(async () => {
  const res = await fetch('http://localhost:8080/api/test');
  console.log(await res.json());
});
</script>

<template>
  <div>测试页面</div>
</template>
我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
码农燕燕
这个问题很简单,你被代理绕进去了。

Postman 开了全局代理之后,所有请求都会被发往公司代理服务器,然后由代理服务器去访问目标地址。但代理服务器它访问不了你本机的 localhost:8080,所以超时是必然的。

浏览器能访问是因为浏览器没有走公司的全局代理,它直接连的本地。

解决思路很简单:测试本地接口时别让 Postman 走代理。

具体操作:

在 Postman 的 Settings → Proxy 里,把那个 Global Proxy 开关关掉,或者把 "Enable Proxy" 的勾去掉。测试完本地服务,需要访问外网时再打开。

如果你觉得来回切换麻烦,可以看看 Proxy 设置里有没有排除本地地址的选项(有些版本支持),把 localhost 和 127.0.0.1 加进去。

还有个野路子:把 localhost 改成你的局域网 IP(比如 192.168.x.x:8080),有些代理会放行局域网内网地址,不过这得看公司代理的具体配置。

总之就是一句话,代理是给外网用的,你测本地服务的时候关掉就行。
点赞 2
2026-03-11 03:11