起因

项目中后端给到了6666端口的服务地址, 随即前端项目访问中浏览器报错如下:
net::ERR_UNSAFE_PORT
不安全端口在主流浏览器(Chrome/Firefox/Edge/Safari)中会被拦截,触发浏览器Network的status列显示 net::ERR_UNSAFE_PORT 错误, 以下是常见的不安全端口一览表:

端口范围常见被禁端口示例
系统保留1, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22
高危服务23 (Telnet), 25 (SMTP), 37 (Time), 42 (DNS)
传统协议53 (DNS), 77 (私用), 79 (Finger), 87 (TTY)
常见被禁666 (Doom), 6665-6669 (IRC/游戏), 1243 (攻击工具)
其他1524, 2049 (NFS), 6000 (X11), 6566 (恶意软件)

​因为设计之初是防止恶意网页通过浏览器直接访问敏感服务(如数据库、邮件服务器), 所以我们在使用中需要避开这些特定端口.

解决方案(推荐)

后端把端口修改成8080等安全端口即可

​开发中临时解决方案​(不推荐):

方案一: Chrome 启动时允许特定端口

google-chrome --explicitly-allowed-ports=6666,6667 (本文使用的端口是6666, 改成你使用的端口)

方案二: vue2项目配置代理

代理大部分是用来临时解决跨域用的, 不巧的是也能解决不安全端口问题

// axios请求配置
axios.baseURL =/dev-api’  // 当然你的项目baseURL是动态的, 在.env.development上配置, 但是最终都是赋值给请求. 因为每个人的项目都不一样, 所以本文教程显示是最终赋值.

vue项目环境变量
axios使用环境变量

// vue.config.js文件配置
module.exports = {...,devServer: {// 开发服务器配置host: "0.0.0.0", // 监听所有网络接口(允许通过IP访问)port: 8080, // 定义的端口号open: true, // 启动后自动打开浏览器	  // 代理配置(解决跨域问题)proxy: {"/dev-api": { // 代理前缀(前端请求需以/dev-api开头)target: `http://192.168.xxx.xx:6666/admin`, // 实际后端地址changeOrigin: true, // 修改请求头中的Host为目标地址(解决虚拟主机问题)secure: false, // 如果是https接口但证书不受信任,需设为false(开发环境用)// 路径重写规则pathRewrite: {"^/dev-api": "" // 移除实际请求路径中的/dev-api前缀(浏览器看着还是有dev-api)},logLevel: "debug" // 打印详细的代理调试日志(查看实际请求http://192.168.xxx.xx:6666/admin, 因为浏览器请求始终显示的是127.0.0.1:8080/dev-api的请求地址)}},// 安全性配置disableHostCheck: true // 禁用Host头检查(允许任意域名/IP访问,开发环境临时方案)}

浏览器看着一切如常
logLevel设置为"debug"就能看到实际请求已成功代理

[HPM] Rewriting path from “/dev-api/user/create/img” to “/user/create/img” // 重写地址
[HPM] GET /dev-api/user/create/img ~>http://192.168.xxx.xx:6666/admin // 实际请求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87146.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87146.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/87146.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Bluedroid】蓝牙设备管理器初始化全流程深度解析(BTA_dm_on_hw_on)

本文全面剖析Android蓝牙设备管理器在硬件启动时的初始化流程,涵盖控制块创建、服务发现启动、设备类配置、安全密钥加载、超时参数设置等核心环节。通过分析从底层硬件交互到上层服务注册的全链路调用,揭示蓝牙系统从硬件就绪到功能可用的完整启动机制&…

大语言模型:是逐字生成还是一次多词?

大语言模型(LLM)既可以按顺序逐个生成单词(token),也能实现一次生成多个 token 核心差异源于解码策略与模型架构设计 一、常规“逐个生成”模式(基础逻辑) 多数入门级演示或简单文本生成中,LLM 会默认按 “生成一个 token → 拼接回输入 → 再生成下一个” 的流程,…

通俗易懂的LangGraph图定义解析

LangGraph 是一个基于状态的工作流框架,它通过 节点(Nodes) 和 边(Edges) 的组合,构建出复杂的工作流逻辑。这种设计特别适合处理需要动态决策、循环、多步骤交互的场景(比如对话系统、智能代理…

K8s Pod调度基础——2

目录 一、Deployment ‌一、Deployment 原理‌ ‌二、核心特性‌ ‌三、意义与场景‌ ‌四、示例与逐行解释‌ ‌五、总结‌ StatefulSet ‌一、StatefulSet 原理‌ ‌二、核心特性‌ ‌三、意义与场景‌ ‌四、示例与逐行解释‌ ‌五、总结‌ 彼此的区别 一、本质…

Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330)

Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330) 引言:正文:一、Java 构建的医疗数据融合平台(多源数据安全打通)1.1 分布式医疗数据集成系统(符合 HIPAA 与…

beego打包发布到Centos系统及国产麒麟系统完整教程

1、先清除go缓存,用下面命令 go clean -cache go clean -modcache 2、更新库文件 go mod tidy 3、安装beego go install github.com/beego/bee/v2latest 4、查看bee版本 5、进行打包然后传到Centos和麒麟服务器如下代码 bee pack -be GOOSlinux -be GOARCHa…

Instagram和facebook广告对比解析

一、平台用户画像对比 用户基础数据 (1)活跃用户规模 Instagram:20亿MAU,以年轻群体为主力 Facebook:29亿MAU,覆盖全年龄段用户 (2)核心用户特征 Instagram: • 25-3…

[MIA 2025]CLIP in medical imaging: A survey

论文网址:CLIP in medical imaging: A survey - ScienceDirect 项目页面:github.com 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏…

Python通讯录系统实战教程

具体介绍见 通讯录管理系统设计与实现(C)-CSDN博客 class Person:def __init__(self, name"", sex0, age0, phone"", addr""):self.m_name name # 姓名self.m_Sex sex # 性别(1-男,2-女…

虾米壁纸分类页面代码

<template> <view class"wallpaper-category"> <custom-nav-bar title"分类列表"></custom-nav-bar> <!-- 分类展示 --> <scroll-view scroll-y class"category-scroll-view"> <view cl…

K8s-pod 调度基础

目录 Replication Controller&#xff08;RC&#xff09; 概念 关键字段 Replica Set&#xff08;RS&#xff09; 概念 关键字段 RC 与 RS 的区别 无状态应用管理Deployment 无状态应用&#xff08;Stateless Application&#xff09; 什么是无状态&#xff1f; 无状…

Vue + RuoYi 前后端分离入门手册

Vue RuoYi 前后端分离技术栈是一个非常流行且成熟的企业级后台管理系统开发方案&#xff0c;尤其在国内 Java 开发社区中广泛应用。它结合了现代化的前端框架 Vue.js 和基于 Spring Boot 的后端框架 RuoYi&#xff0c;提供了开箱即用的权限管理、代码生成、监控等功能&#xf…

JSON 安装使用教程

一、JSON 简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。它广泛应用于前后端数据通信、配置文件、API 传输等场景。 二、JSON 是否需要安装&#xff1f; 不需要…

十大网络协议

十大网络协议 标题1. HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;标题2. HTTPS&#xff08;Secure Hypertext Transfer Protocol&#xff0c;安全超文本传输协议&#xff09;标题3. HTTP/3标题4. TCP&#xff08;Transmission Control…

【语音告警】博灵智能语音报警灯Modbus TCP触发告警实例-语音报警灯|声光报警器|网络信号灯

功能说明 本文将以Python代码为例&#xff0c;讲解如何通过Python代码调用博灵语音通知终端A4实现声光语音告警。 本代码实现Python触发Modbus写多寄存器和写单寄存器实现调用通知终端模板播报功能&#xff08;通知终端内置TTS语音合成技术&#xff0c;本案例不讲解如何文本转…

摄像头 rtsp数据量 和正常数据流有什么区别

摄像头RTSP数据流和正常数据流&#xff08;如HTTP传输的普通文件或网页数据&#xff09;在多个方面存在显著差异&#xff0c;主要体现在协议特性、数据量、实时性、应用场景等方面。以下是具体对比&#xff1a; 1. 协议与传输方式 RTSP流&#xff1a; 实时流协议&#xff08;R…

深入理解装饰器模式:动态扩展对象功能的灵活设计模式

深入理解装饰器模式&#xff1a;动态扩展对象功能的灵活设计模式 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界…

141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示

本文分享一个前端小技巧&#xff1a;借助 OpenLayers 的 Link 交互 在浏览器地址栏实时记录地图状态&#xff0c;同时把这些参数解析出来展示在页面上。 ✨ 双向同步&#xff1a;拖动、缩放、旋转地图时&#xff0c;URL 自动更新&#xff1b;手动修改 URL 或后退 / 前进&#x…

数字人的形象与内容,虚拟形象背后的权益暗战

&#xff08;首席数据官高鹏律师数字经济团队创作&#xff0c;AI辅助&#xff09; 当某科技公司的虚拟偶像在直播间收获百万打赏时&#xff0c;当某品牌的数字代言人形象被篡改成表情包全网传播时&#xff0c;当网红博主的AI分身开始替代真人直播带货时&#xff0c;一场关于数…

【python】pdf拆成图片,加中文,再合成pdf

前期搞了个pdf加页脚&#xff0c;但是搞了半天中文加不了&#xff0c;就换了个思路。 直接说结论&#xff0c;pdf拆成图片&#xff0c;加中文&#xff0c;再合成pdf&#xff0c;会导致pdf模糊。 import os import fitz # PyMuPDF from PIL import Image, ImageDraw, ImageFon…