用 vue 部署的项目遇到 Nodejs 相关问题 这个不知道怎么解决了 代码里也没找到使用 websocket 请求的地方,不知道为什么会请求到内网地址

发布于 1周前 作者 phonegap100 来自 nodejs/Nestjs

Mixed Content: The page at ‘https://./’ was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint ‘ws://10.0.20.2:8080/ws’. This request has been blocked; this endpoint must be available over WSS.
用 vue 部署的项目遇到 Nodejs 相关问题 这个不知道怎么解决了 代码里也没找到使用 websocket 请求的地方,不知道为什么会请求到内网地址


3 回复

看看有没有 iframe 。


根据之前的经验,有人在服务器上用的 npm run dev …
npm run build 之后,把 dist 目录下的文件甩过去就行了。然后 nginx 配置 root 指向 dist 目录。如果路由用的 history 模式,请相应调整 nginx 配置。

针对你提到的 Vue 项目在部署时遇到的 Node.js 相关问题,尤其是关于未知 WebSocket 请求到内网地址的情况,这里有几个可能的排查方向:

  1. 检查依赖库: 确保项目中没有直接或间接依赖的库在后台建立了 WebSocket 连接。可以通过查看 package.jsonnode_modules 目录下的依赖库来确认。

  2. 全局搜索 WebSocket: 在项目的所有文件中搜索 WebSocket 关键字,看是否有未注意到的代码片段建立了连接。例如,在 VS Code 中可以使用全局搜索功能(快捷键 Ctrl+Shift+F)。

  3. 环境变量检查: 检查 .env 文件或其他环境配置文件,看是否有配置项错误地指向了内网地址。

  4. 网络代理或中间件: 如果你的项目使用了如 Nginx、Apache 等反向代理,或 Express、Koa 等中间件,检查相关配置是否有重定向到内网地址的规则。

  5. 浏览器开发者工具: 使用浏览器的开发者工具(Network 面板)观察 WebSocket 连接请求,查看请求的发起源头。

示例代码片段,用于在 Vue 项目中全局搜索 WebSocket:

# 在项目根目录下运行
grep -r "WebSocket" .

或者,使用 VS Code 的全局搜索功能,输入 WebSocket 并查看结果。

希望这些步骤能帮助你定位问题。如果问题依旧存在,建议详细检查所有相关的配置文件和代码。

回到顶部