dcoker+nginx解决前端本地开发跨域

步骤

  1. docker 拉取nginx镜像
  2. 跑容器 并配置数据卷nginx.conf

nginx.conf文件配置

这里展示server

server {listen       80;listen  [::]:80;server_name  localhost;#access_log  /var/log/nginx/host.access.log  main;location / {# 当我们访问127.0.0.1:8028就会跳转到http://127.0.0.1:5173;proxy_pass  http://xxxxx:5173/;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host; # $host是nginx内置变量,表示客户端请求的主机名。proxy_set_header X-Real-IP $remote_addr;# $remote_addr是nginx内置变量,表示客户端的IP地址。# 这条指令将会将请求的X-Forwarded-For字段设置为客户端的IP地址,并$proxy_add_x_forwarded_for是nginx内置变量,表示代理服务器的IP地址。proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;}location /api {# 请求交给名为api_serve的upstream上# proxy_pass http://api_serve;# rewrite ^/api/(.*)$ /$1 break;proxy_pass  http://这里的ip地址填宿主机的IP:8329;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarder-For $proxy_add_x_forwarded_for;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}
}

宿主机IP地址获取

前端项目的公网地址
在这里插入图片描述

在这里插入图片描述
把Netword地址挑一个上面location /proxy_pass的地址中即可

cmd 输出ipconfig 将下面的地址复制到nginx中
在这里插入图片描述
为什么不能直接配置127.0.0.1,如果nginx配置了这个,访问的是容器内的127.0.0.1而不是宿主机的。

提示

真实项目中后端服务肯定在服务器上,而自己开发的项目才需要在容器nginx内配置宿主机的IP地址。

方式二Vite和Webpack开发服务器

(vite/webpack开发服务器) 这个比较简单看文档即可,有需要演示的可以评论留言。

方式三BFF层

前端搭建BFF层,将路径做替换即可,这个在我nginx文章里有讲解参考地址。

方式四JSONP

限制太多
1、不能接受http状态码
2、只能支持get请求
3、不能发送和接受http头

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

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

相关文章

ubuntu20.04安装+ros-noetic安装+内网穿透frp

刷机后的系统安装 ubuntu20.04安装安装ros-noetic安装各种必要的插件安装vscode内网穿透连接实验室主机配置frpc和frps文件运行完成自动化部署免密登录linux的免密登录windows上的免密登录 内网穿透的参考链接:如何优雅地访问远程主机?SSH与frp内网穿透配…

Bootstrap 5 保姆级教程(一):容器 网格系统

一、容器 1.1 固定宽度&#xff08;.container&#xff09; .container 类用于固定宽度并支持响应式布局的容器。 以下实例中&#xff0c;我们可以尝试调整浏览器窗口的大小来查看容器宽度在不同屏幕中等变化&#xff1a; <!doctype html> <html lang"en&quo…

【C语言回顾】分支和循环

前言1. if 分支进阶1.1 嵌套 if1.2 悬空 else 2. switch 语句3. while 循环4. for 循环5. goto语句结语 上期回顾: 【C语言回顾】数据类型和变量相关 前言 各位小伙伴&#xff0c;大家好&#xff01;话不多说&#xff0c;我们直接进入正题。 以下是C语言分支和循环的总结。 1…

ARM看门狗定时器

作用 在S3C2440A中&#xff0c;看门狗定时器的作用是当由于噪声和系统错误引起的故障干扰时恢复控制器的工作。 也就是说&#xff0c;系统内部的看门狗定时器需要在指定时间内向一个特殊的寄存器内写入一个数值&#xff0c;俗称喂狗。 如果喂狗的时间过了&#xff0c;那么看门…

修改Ubuntu的镜像源为华为镜像源

修改Ubuntu的镜像源为华为镜像源 1、首先使用以下命令备份现有的镜像源&#xff1a; cd /etc/apt sudo cp sources.list sources.list.bak 2、使用以下命令打开镜像源文件&#xff1a; sudo vim /etc/apt/sources.list 3、在vim插入模式下使用以下内容替换掉原镜像源…

STM32H7上实现AD5758驱动

目录 概述 1 下载ADI 5758 Demo 2 AD5758驱动的移植 2.1 使用STM32CubeMX创建工程 2.2 接口函数实现 2.2.1 驱动接口列表 2.2.2 函数实现 2.2.3 修正ad5758驱动 3 AD5758应用程序 3.1 编写测试程序 3.1.1 配置参数结构 3.1.2 配置参数函数 3.1.3 读取参数函数 3.…

时隔一年,再次讨论下AutoGPT-安装篇

AutoGPT是23年3月份推出的&#xff0c;距今已经1年多的时间了。刚推出时&#xff0c;我们还只能通过命令行使用AutoGPT的能力&#xff0c;但现在&#xff0c;我们不仅可以基于AutoGPT创建自己的Agent&#xff0c;我们还可以通过Web页面与我们创建的Agent进行聊天。这次的AutoGP…

设计模式——观察者模式17

观察者模式指多个对象间存在一对多的依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式。 中介者模式是N对N的双向关系。观察者模式是1对N的单向关系。 设计模式&#xff0c;一定要敲代码…

电机驱动-理论学习-Fast计算

Fast计算 cordic方法原理详解代码实现 德州仪器IQmath算法讲解代码实现 欧洲黑客大会FastMath实现原理代码实现 电机运算通常在有限资源MCU上进行计算&#xff0c;对实时性有极高要求。然而&#xff0c;电机驱动又有大量的计算。所以&#xff0c;对运算速度也有较为严格要求。所…

腾讯EdgeOne产品测评体验—金字塔般的网络安全守护神

作为一名对网络安全和性能优化充满热情的用户&#xff0c;我决定体验腾讯云下一代 CDN 服务 - EdgeOne。这款引以为傲的全方位服务如数来到&#xff0c;从域名解析、动静态智能加速到四层加速及DDoS/CC/Web/Bot 防护&#xff0c;一应俱全。随着时代风云变幻&#xff0c;日均数千…

SpringCloud整合ElasticSearch搜索使用

环境说明 ORM&#xff1a;easy-es 2.0.0(opens new window) ElasticSearch&#xff1a;7.14.0 pigx&#xff1a;5.2 请保持环境如上&#xff0c;ElasticSearch 兼容性较差无法保证其他版本正常整合执行。快速开始 ① 安装 ElasticSearch docker run --name es714 -p 9200:920…

高级数据结构与算法习题(7)

一、单选题 1、When solving a problem with input size N by divide and conquer, if at each stage the problem is divided into 8 sub-problems of equal size N/3, and the conquer step takes O(N2logN) to form the solution from the sub-solutions, then the overall…

Linux调试器之gdb

前言 我们前面介绍了几个基本的环境开发工具。例如通过yum我们可以安装和卸载软件、通过vim我们可以写代码、通过gcc和g我们可以编译代码成可执行程序。但是如何在Linux下调试代码呢&#xff1f;我们并未介绍&#xff0c;本期我们将来介绍最后一个工具 --- 调试器gdb。 本期内…

云原生周刊:CNCF 2023 年度调查报告 | 2024.4.15

开源项目推荐 highlight 该项目是一个开源全栈监控平台。其功能包括错误监控、会话重放、日志记录、分布式跟踪等。 Helm Compose Helm Compose 是一个 helm 插件&#xff0c;用于在单个配置文件中管理一个或多个图表的多个版本。 HAMi 异构 AI 计算虚拟化中间件&#xf…

HttpComponentsClientHttpRequestFactory

HttpComponentsClientHttpRequestFactory 文章目录 HttpComponentsClientHttpRequestFactory介绍**配置 PoolingHttpClientConnectionManager 时&#xff0c;可以使用如下的方法来设置最大连接数&#xff1a;****defaultMaxPerRoute**示例RestTemplate的负载均衡策略是什么&…

字节面试:领域、子域、核心域、通用域和支撑域怎么划分?

领域驱动设计&#xff08;DDD&#xff09;里面有一堆专业术语&#xff0c;比如领域、子域、核心域、通用域、支撑域等等&#xff0c;听着是不是觉得挺吓人&#xff1f;别怕&#xff0c;我来带你轻松搞懂它们。 ​《Leetcode算法刷题宝典》一位阿里P8大佬总结的刷题笔记。 《大厂…

DAY13|239. 滑动窗口最大值、347.前K个高频元素

239. 滑动窗口最大值、347.前 K 个高频元素 239. 滑动窗口最大值347.前 K 个高频元素 239. 滑动窗口最大值 难度有些大啊… 其实队列没有必要维护窗口里的所有元素&#xff0c;只需要维护有可能成为窗口里最大值的元素就可以了&#xff0c;同时保证队列里的元素数值是由大到小…

基于U-Net的图像分割算法介绍

U-Net是一种用于图像分割的深度学习架构,其设计初衷是用于生物医学图像分割,尤其是医学影像中的细胞分割任务。U-Net结构独特,具有编码器-解码器结构,能够有效地捕捉图像中的局部和全局信息,并在像素级别上进行精确的分割。 相关论文: U-Net: Convolutional Networks for…

STM32 CAN的验收筛选器

STM32 CAN的验收筛选器 简介 CAN外设的验收筛选器&#xff0c;一共有28个筛选器组&#xff0c;每个筛选器组有2个寄存器&#xff0c; CAN1和CAN2共用的筛选器的。 在 CAN 协议中&#xff0c;消息的标识符与节点地址无关&#xff0c;但与消息内容有关。因此&#xff0c;发送节…