使用nginx代理解决web请求本地服务器跨域问题

nginx代理解决跨域问题 跨域(Cross-Origin)是指在 Web 开发中,一个网页的运行脚本试图访问另一个网页的资源时,这两个网页的域名、协议或端口号任何一个不同,就被称为跨域。跨域是由浏览器的同源策略(Same-Origin Policy)所限制的。同源策略是一种安全机制,它防止一个网页的脚本去读取另一个不同域名的网页内容。同源策略要求两个网页的协议、主机和端口号必须完全相同,否则就会出现跨域问题。简单来说,同源策略要求不同域名的网页之间不能相互访问对方的资源。 阅读详情

使用nginx代理解决web请求本地服务器跨域问题

使用nginx代理访问Vue项目

工具:nginx-1.8.0.zip

场景描述:我们在搭建本地web项目时候,有时候想要请求一下本地搭建的服务等,这个时候浏览器在请求数据时候,会有跨越的问题,跨越:域名不同,IP不同,端口不同,都会形成跨域请求。

浏览器 =>服务器=>数据库

原调试页面:http://localhost:3000/

请求地址:http://localhost:8070/VueServer/vue/getNewsList.do

因为3000端口和8070端口不是同一端口,所以浏览器会报:

Access to XMLHttpRequest at 'http://localhost/VueServer/vue/getNewsList.do' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

这是跨域请求导致的错误。

为了解决跨域的错误,我们使用nginx请求转发来解决跨域问题。

浏览器 =>nginx=>服务器=>数据库

在windows中将nginx-1.8.0.zip直接解压,双击nginx.exe,在浏览器中访问:localhost:80,出现welcome nginx即可。

如果80端口被占用,将conf文件中的nginx.conf文件端口修改后重启便可。

在cmd中进入nginx.exe的目录,如:cd E:\nginx\nginx-1.8.0,再敲命令:nginx -s reload//重启

nginx -s stop//停止nginx
nginx -s reload//重启

这里要特别注意浏览器缓存问题,基本上你nginx -s stop后,浏览器任然能打开nginx,是因为缓存问题,请每次重启后清除缓存。

原始:

​ 原调试页面:http://localhost:3000/

​ 请求地址:http://localhost:8070/VueServer/vue/getNewsList.do

步骤1:

​ 修改请求地址:http://localhost:80/VueServer/vue/getNewsList.do(将端口修改成nginx监听的端口:80)

步骤2:

​ 修改nginx.conf配置

 server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            proxy_pass http://127.0.0.1:3000;#这里是原调试页面地址,也很重要,不能不配置
            index  index.html index.htm;
        }
 
        #转发到Vue本地服务器
        location ~/VueServer\/vue\/(.*)\.do$ {
         proxy_pass http://127.0.0.1:8070/VueServer/vue/$1.do;#这里是后台服务的请求地址
        }
}

重启nginx,清理浏览器缓存。

步骤3:

调试页面不再访问:http://localhost:3000/,如果还是访问3000,还是会有跨域问题。

而是访问:http://localhost:80,nginx会在location中自动转发到http://localhost:3000/,

这样我们调试的地址是:http://localhost:80,请求的也是:http://localhost:80,即解决了跨域的问题。

搞定跨域问题:使用Nginx解决跨域访问的完整实例 Nginx是一个高性能的Web服务器和反向代理服务器,常用于构建可扩展的、低延迟的Web应用。它具有轻量级、高并发的特点,可以通过配置实现各种复杂的功能。其中,解决跨域问题也是Nginx的一项功能。跨域访问指的是在浏览器发送请求时,请求的目标URL与当前页面的域名不一致,即不满足同源策略。同源策略是浏览器中的一种安全机制,用于阻止恶意代码窃取数据或者执行一些危险操作。跨域访问会受到同源策略的限制,但是在实际开发中,我们经常需要跨域访问其他域名的资源。 阅读详情

相关推荐

Nginx高级(八):nginx跨域、nginx正向代理、nginx反向代理

一、nginx跨域 1 . 什么是跨域? 跨源资源共享(CORS)是一种机制,它使用额外的HTTP标头让用户代理获得访问来自不同来域的服务器上选定资源的权限,而不是使用当前正在使用的站点。用户代理在请求来自与当前文档不同的域,协议或端口的资源时,会发出跨源HTTP请求。 2 . 产生跨域的原因? 1、出于安全原因,浏览器限制从脚本内发起的跨域HTTP请求。例如,XMLHttpRequest与提取API遵循同域策略。这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非使用

大胡子哥哥 4301

Nginx配置代理解决本地html进行ajax请求接口跨域问题

上面基于Vue的web项目进行代理请求后台接口。如果是进行异地接口联调,访问后台接口都需要通过vpn访问,前端需求是使用单html页面(带其他js、三方sdk资源)进行接口联调调用,后续需将该静态html资源封装到APP中。若线上环境网络均是内网,不存在跨域问题,在联调阶段如何进行模拟请求对接。

BADAO_LIUMANG_QIZHI的博客 3408

同源策略影响,使用nginx反向代理处理前后端跨域问题

一.什么是同源策略 1.1 同源策略的概念 浏览器为了安全,制定了一套严格的访问机制,这种限制约束被业界称为同源策略。 同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。 同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。 所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(h

健康平安的活着的专栏 4919

nigix代理失败的排查过程

1、我们在排查域名访问报错的时候,一定要有清洗的思路排查逻辑2、使用了VIP转发的时候,一定要注意Header的正确配置。

老男孩的架构路 6285

使用 Nginx 代理解决跨域问题并传递请求头的完整指南

跨域问题是由浏览器的同源策略引起的。同源策略要求浏览器只能允许来自同一域名的请求,而阻止来自其他域名的请求。具体来说,如果前端应用的域名是,而目标 API 的域名是,那么浏览器会阻止这种跨域请求。通过本文的介绍,我们详细讲解了如何使用 Nginx 作为代理服务器来解决跨域问题,并确保前端请求头能够正确传递到目标服务器。跨域问题的本质:浏览器的同源策略阻止了跨域请求。Nginx 代理的作用:通过代理服务器转发请求,绕过浏览器的同源策略。Nginx 配置的关键点使用add_header设置 CORS 头。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 1万+

Spring Authorization Server自定义密码模式:突破标准OAuth2限制,实现MFA与复杂业务集成

OAuth 2.0授权框架是构建现代应用安全体系的基石,其密码模式(Resource Owner Password Credentials Grant)提供了一种直接的资源所有者凭证交换令牌的机制。该模式的核心原理是客户端收集用户密码并直接向授权服务器请求访问令牌,适用于受信任的客户端场景。在技术价值上,它简化了某些传统应用的OAuth集成流程。然而,标准实现往往难以满足复杂的现实业务需求,例如需要集成多因素认证(MFA)、对接外部LDAP目录服务或执行自定义密码加密校验等场景。Spring Authori

weixin_34302561的博客 438

本地windows安装nginx,并通过nginx代理访问html页面,并针对错误码(404)自定义错误页面,提供访问截图和nignx.cnf配置文件)

以下是在本地Windows上安装nginx并配置代理访问html页面的步骤:前往nginx官方网站(https://nginx.org/en/download.html)下载Windows版本的nginx。将下载的压缩包解压到一个目录,例如"C:\nginx"。进入nginx的安装目录,编辑nginx.conf文件。 默认情况下,该文件位于"C:\nginx\conf"目录下。使用文本编辑器打开nginx.conf文件,进行如下配置。 将"[目标IP地址]“替换为实际要代理的目标页面的IP地址,”[目标端口

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 1709

基于python的排课表系统,用python编写排课系统

实现一个具体的课程管理系统。(5) 学生可以查看自己选上的课的成绩,以及各个课程的得分、绩点,并给出其平均绩点,但不允许查看年级其他人的成绩。(2) 学生定制专属课表,可以查看整个学期本人的课程安排,包括课程名称、上课时间、上课地点、任课老师、学分等等。(13) 系主任可以查看整个系的全部学生以及他们的平均绩点,可以对每个班进行排名,或者也可以对整个系进行排名。(15) 系主任可以查看整个学期所开设的所有课程,包括这些课程的全部详细信息。(1) 学生基本信息的查询,学生可以对本人的系统登陆密码进行修改。

yang0728y的博客 2000

通过nginx代理静态网页

1、下载绿色版nginx 放在本地目录:如 E:\tools\nginx-1.12.1 2、找到项目根目录所在的位置:如 E:\projects\demo 3、打开nginx中的nginx.conf文件,目录为E:\tools\nginx-1.12.1\conf 修改如下内容 4、保存,再次运行nginx.exe

yingjun0551986的专栏 3674

Telegram 担保交易系统搭建指南:安全可靠的交易流程实现

本文介绍了基于Telegram Bot API搭建担保交易系统的完整方案。该系统通过第三方资金托管机制解决买卖双方信任问题,支持"付款后发货"和"收货后放款"的交易流程。文章详细阐述了系统架构设计,包括Telegram Bot交互层、后端业务逻辑层、数据库层和支付接口层。核心实现步骤涵盖:1)订单创建模块处理交易信息;2)支付处理模块集成Stripe Escrow实现资金托管;3)确认收货模块完成资金划转。系统采用PostgreSQL存储交易数据,并通过FastAPI

jingpide9527的博客 1960

微信小程序中蓝牙打印机中文编码处理:使用iconv-lite库

本文介绍了微信小程序集成蓝牙打印机时中文乱码问题的解决方案。由于打印机通常仅支持GBK/GB2312编码,而小程序使用UTF-8,导致中文显示异常。通过引入轻量级iconv-lite库进行编码转换,可高效解决该问题。文章详细说明了从库安装、编码转换到蓝牙发送的实现步骤,并提供了完整代码示例。关键注意事项包括编码验证、分段发送和兼容性测试。该方法经实际验证,能有效保障中文打印的准确性,适用于零售、物流等场景。

canglingyue的专栏 1310

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

墨鸦的博客 3万+

遥感图像融合实战:5分钟搞懂全色与多光谱图像如何提升分辨率(附Python代码)

本文通过实战案例,详细解析了如何利用全色锐化技术融合全色与多光谱遥感图像,以提升图像分辨率。文章深入浅出地介绍了核心概念、环境配置、经典GS融合算法的Python代码实现,并对比了不同算法的优劣,最后提供了效果评估方法与实战陷阱分析,帮助读者快速掌握遥感图像融合的关键技术。

weixin_29041195的博客 395

Vue本地开发环境配置及上线部署

Vue本地开发环境配置及上线部署

weixin_52485890的博客 2952

YOLOv11改进 | Neck篇 | 独创HFPN利用分层特征融合块HFFB模块融合多层次特征改进yolov11(全网独家创新)

本文给大家带来的最新改进是利用分层特征融合块HFFB创新yolov11的neck部分我称之为HFPN,这个模块可以融合局部特征、全局特征、中间特征将三种特征融合在一起辅助yolov11进行检测,经过我的设计分为三种可以针对大目标、小目标、标准目标的检测方式均不同,大家可以根据自己的数据集进行不同的选择,本文的内容为我独家创新。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、原理介绍三、核心代码四、添加方法4.1 修改一4.2 修改二4.3 修改三4.4 修改四。

Snu77的博客 5218

qwen2vl ValueError: Image features and image tokens do not match: tokens: 568, features 600

本文介绍了一个用于计算多模态数据集中样本token数量的Python工具,特别针对包含文本和图像的Qwen2-VL模型数据集。

q742971636的博客 1014

什么是跨域?——详解跨域问题及其解决方案

跨域问题是Web开发中常见且令人困扰的问题之一。理解跨域的原理及其解决方案对于前后端分离开发尤为重要。本文将详细介绍跨域的概念、产生原因、常见的跨域解决方案,并提供详细的代码示例,帮助读者深入理解跨域问题及其应对方法。

fudaihb的博客 1万+

用长tree方式做等长线

1)写一个sdc,把等长线的起点设置成clock source,用于创建create_clock,至于period和waveform等参数随便写即可。然后clock_opt -from build_clock -to route_clock即可。3)在正式cts之前或之后,给自己创建的scenario长tree并don't touch。前面讲过了如何用set_data_check做等长线,这里再讲一下如何用cts的方式做。2)为该clock创建一个新mode,并创建对应的scenario。

m0_61544122的博客 622

什么是跨域?如何解决?

一、什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!! 同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域; 二、跨域访问示例 假设有两个网站,A网站部署在:.

GSON的博客 3万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

通过Nginx来解决跨域问题

Nginx跨域实现   首先大家要搞清楚什么是跨域,为什么会有跨域情况的出现。哪些情况属于跨域? 跨域:由于浏览器的同源策略,即属于不同域的页面之间不能相互访问各自的页面内容注:同源策略,单说来就是同协议,同域名,同端口 URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 ...

My_SweetXue的博客 2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

前端使用 Nginx 反向代理彻底解决跨域问题

一、前言 由于身处于小团队,作为后台的,不得已参与到前端开发中。首先迎来的就是跨域的问题。 个人觉得使用 nginx 是一种较为简单直接彻底的办法 二、流程 1、请求后端数据失败 代码如下 <!DOCTYPE html> <html> &

IT小村 6万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

解决跨域之烦恼:Nginx如何成为你的跨域问题终结者

跨域问题是Web开发中常见的难题,但幸运的是,使用Nginx可以轻松地解决这一问题。本文将指导你如何通过配置Nginx来克服跨域限制,让你的Web应用更加灵活和强大。

fudaihb的博客 9381

Nginx:关于实现跨域代理

本文讨论Nginx实现跨域代理相关话题。

jclee95的个人博客 3309

NGINX 解决跨域问题

跨域问题主要出现在浏览器的同源策略下。根据同源策略,浏览器只允许页面向与其同源(协议、域名和端口号都相同)的服务器发送请求。如果前端页面想要请求一个来自其他源(即不同域名、协议或端口)的资源,浏览器会默认阻止请求,产生跨域问题。例如,前端页面发送请求到,就会触发跨域问题。这条配置允许浏览器发送和Accept等自定义请求头。如果你的前端代码中使用了这些请求头,必须在这里进行设置。通过 NGINX 配置 CORS 头部,我们可以灵活地解决跨域问题,保证前端和后端能够顺利通信。

qq_41586848的博客 2589

Nginx 反向代理(解决跨域)

本文介绍了如何使用Nginx反向代理解决跨域问题。跨域是由浏览器的同源策略引起的前后端交互限制,当协议、域名或端口不一致时就会发生。通过Nginx配置反向代理(location /api/转发到后端服务),可以规避跨域限制。

专研技术的大学生:会点Java和前端 1万+

使用nginx代理 解决 跨域调用子页面iframe方法的问题

---------1 场景 ***在当前项目里调用子页面(iframe)里面的方法 , iframe是一个 ppt页面 ,里面暴露出了ppt切换到下一帧的方法 ***简单介绍一下项目 ,这是一个在线授课的项目 当前这个页面是学生端听课页面 , 老师授课时 切换ppt至下一帧 , 学生端调用iframe里的方法同步切换(通过socket链接) ---------2...

mars_zt的博客 1万+
下一篇: http与https的区别
老药师
博客等级 码龄7年 0粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值