2022-11-30 17:44阅读: 97评论: 0推荐: 0

nodejs 服务器监听的主机名称导致的本地前端代理错误

问题

前端本地开发服务器一直是正常的,直到某一天启动时出现这个错误:
image

代理服务的配置如下:(http://localhost:8000 跑着一个本地启动的nodejs服务器。)

const {createProxyMiddleware} = require('http-proxy-middleware');
const origin = 'http://localhost:8000';
const proxyOptions = {
target: origin,
changeOrigin: true,
};
module.exports = function (app) {
app.use('/assets', createProxyMiddleware(proxyOptions));
app.use('/api', createProxyMiddleware({
pathRewrite: {
// 用 /api 请求是为了访问后端接口,但是后端路由地址实际上不需要 /api 前缀
'^/api': '',
},
...proxyOptions,
}));
};

原因

这个问题出现后困扰了我很久,尝试过修改各种配置和Google各种,都没有解决。才想到可能是后端代码某次修改提交后导致的,遂去翻提交日志。发现一个可疑的东西🤨:
image

嗯看起来比较像是它引起的,先尝试解决下。

解决

将hostname变量的初始化方式修改为:

const hostname = process.env.NODE_ENV === 'development' ? '' : '0.0.0.0'

再次分别启动后端服务和前端服务,可以发现没有这个错误了。

⚠️注意这种方式要求在开发环境和生成环境均设置了环境变量 NODE_ENV


image

本文作者:暮重云

本文链接:https://www.cnblogs.com/fengyinxu/p/nodejs-http-server-hostname-cause-frontend-proxy-error.html

版权声明:本作品采用【知识共享署名-非商业性使用-禁止演绎4.0国际】许可协议进行许可。

posted @   暮重云  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起